macro – Tic & Net https://blog.datacargo.fr Le blog notes de Fred Fri, 31 Mar 2017 08:22:59 +0000 fr-FR hourly 1 https://wordpress.org/?v=6.4.7 https://blog.datacargo.fr/wp-content/uploads/2019/05/cropped-bannière-ticnet-3-32x32.png macro – Tic & Net https://blog.datacargo.fr 32 32 [Calc] Créer des dossiers automatiquement sur un lecteur réseau ou USB https://blog.datacargo.fr/2017/03/31/windows-creer-des-dossiers-automatiquement-dans-un-lecteur-reseau-ou-usb-sous-openoffice/ https://blog.datacargo.fr/2017/03/31/windows-creer-des-dossiers-automatiquement-dans-un-lecteur-reseau-ou-usb-sous-openoffice/#respond Fri, 31 Mar 2017 08:22:59 +0000 http://tic-et-net.org/?p=5238 Ce billet est la suite logique de l’article de  2014 Générer automatiquement des dossiers sur un lecteur avec Excel qui abordait une méthode permettant de générer automatiquement des sous-dossiers stockés dans un dossier principal.

Mon besoin à cet époque était de créer des dossiers individuels aux noms d’étudiants (un grosse centaine) à partir d’une liste de noms.

Nous sommes en environnement Windows mais cette fois avec OpenOffice Calc (ça marche aussi avec LibreOffice), et le dossier sera généré sur un lecteur réseau ou une clé USB ou un disque interne. Cette macro Calc publiée dans ce forum en 2008 demeure d’actualité.

Comment procéder :

Créer un nouveau document Calc et dans Outil/Options, abaisser à Moyen la sécurité des macros.

Dans l’éditeur de macros :

2017-03-31_09h53_42

Puis dans le nom correspond au dossier, puis Module1

2017-03-31_09h55_52

La macro à copier-coller :

Option Explicit
Sub CreerDosssier ()
Dim monDocu As Object, lesFeuils As Object
Dim maFeuil As object
Dim maCell As Object
Dim x As long, z As String
Dim Chemin as String
monDocu = ThisComponent
lesFeuils = monDocu.Sheets
maFeuil = lesFeuils.getByName("Feuille1")
x = 1
maCell = maFeuil.getCellRangeByName("A"& x)
z = maCell.String
Do Until z = ""
Chemin = MkDir (ConvertToUrl ("E:\TEST\"&z))
x = x + 1
maCell = maFeuil.getCellRangeByName("A"& x)
z = maCell.String
Loop
End Sub

Paramètres à modifier :
– le nom de la feuille si vous avez renommé Feuille1
– le lecteur et le nom du dossier “E:\TEST\

Pour lancer  la macro :

Outil/Macros/Exécuter la macro puis sélectionner la macro dans la liste et Exécuter :

2017-03-31_10h06_39

Pour automatiser l’exécution, on peut créer une nouvelle barre d’outil avec un bouton assigné à la macro :

2017-03-31_10h09_28

Bouton avec une icône de circonstance :

2017-03-31_10h09_45

2017-03-31_10h16_44

Prochaine étape, vous proposer une version de la macro sous Linux, petits veinards…

Source

]]>
https://blog.datacargo.fr/2017/03/31/windows-creer-des-dossiers-automatiquement-dans-un-lecteur-reseau-ou-usb-sous-openoffice/feed/ 0
Générer automatiquement des dossiers sur un lecteur avec Excel https://blog.datacargo.fr/2014/01/16/gnrer-automatiquement-des-dossiers-sur-un-lecteur-rseau-avec-excel/ https://blog.datacargo.fr/2014/01/16/gnrer-automatiquement-des-dossiers-sur-un-lecteur-rseau-avec-excel/#comments Thu, 16 Jan 2014 20:53:19 +0000 https://ftempez.wordpress.com/?p=3606 La création simultanée de dossiers par des utilisateurs différents sur un lecteur réseau peut vite devenir une opération rébarbative. Créer un nouveau dossier n’a rien de complexe, la difficulté vient seulement du partage réseau et de la gestion des accès concurrents qui empêchent véritablement à une classe de 30 de créer en même temps un simple dossier avec son nom et son prénom.

Par terrible en début d’année, cela fait brouillon et pas du tout sérieux, rien de tel pour mettre l’ambiance.

Pour résoudre ce problème, je me suis dit que le plus simple était certainement de créer un fichier batch sous DOS et de générer automatiquement les dossiers à partir d’une liste d’étudiants, approche classique et efficace.

Lors de mes recherches je suis tombé sur un article particulièrement intéressant que j’ai décidé de commenter et de partager ici pour la simple et unique raison qu’il s’agit d’un usage inattendu d’Excel et d’une toute petite macro très simple. Et justement la liste d’étudiants est déjà sous Excel !

Pour commencer, sous Excel 2007 ou plus récent, récupérez la liste de vos étudiants stockée en colonne A :

image

Ensuite appuyez sur ALT-F11 afin d’ouvrir l’éditeur de Macros puis cliquez sur une des feuilles de calcul afin de l’ouvrir  :

image

Puis collez le code suivant :

Sub créer_dossiers()
On Error Resume Next
Dim lig As Byte, cptr As Byte
lig = Range(“A65536”).End(xlUp).Row
For cptr = 1 To lig
MkDir “G:\LCE L1”
MkDir “G:\LCE L1\” & Cells(cptr, 1)
Next
End Sub

Il faudra personnaliser les lignes 6 et 7 en indiquant l’arborescence précise. La ligne 6 a pour fonction de créer le dossier qui contiendra les dossiers individuels, il est  possible de la supprimer si le dossier principal est déjà créé.

Dans le cas présent, le dossier LCE L1 sur le lecteur G: contiendra tous les sous-dossiers.

Fermez l’éditeur de macro, il ne reste plus qu’à l’exécuter, cliquez sur Affichage puis sur Macro tout à droite :

image

Puis dans la boîte de dialogue, sélectionnez la macro puis cliquez sur Exécuter :

image
Et… magie… les dossiers ont bien été créés :
image

Pour sauvegarder ce fichier, il faudra impérativement sélectionner le format correspondant :

image

Cette solution très pratique présente malgré tout le défaut de ne pas positionner des droits sur les dossiers, les techniciens réseaux comprendront…

Source : http://www.commentcamarche.net/forum/affich-9157334-creation-dossier-suivant-liste-excel

]]>
https://blog.datacargo.fr/2014/01/16/gnrer-automatiquement-des-dossiers-sur-un-lecteur-rseau-avec-excel/feed/ 15