Générer automatiquement des dossiers sur un lecteur avec Excel

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

15 Comments

  1. Bonjour,
    je viens d’utiliser le code. il est vraiment très util. J’ai par contre un souci: dans ma liste j’ai des mots avec le caractère “/” et la création des dossier se fait uniquement pour les mot sans ce caractère.
    Je veux garder le nom des dossiers tel qu’il est sur la liste.
    comment faire ?

    Répondre
    • Quelle erreur au juste ?
      Il faut vérifier que les dossiers correspondent bien à des valeurs correctes.

      Répondre
  2. Bonjour,
    Votre tuto a l’air très bien. Seul soucis, c’est au moment de cliquer sur “Macro”, je n’ai rien dans la liste des Macros… Une erreur quelque part ?

    Répondre
  3. Pingback: [Windows] Créer des dossiers automatiquement dans un lecteur réseau ou USB sous OpenOffice | TIC & Net

  4. Bonjour,
    Je n’arrive pas non plus en collant votre macro, message d’erreur de compilation lorsque je change le chemin ou doivent être crées les dossier
    Message : erreur de compilation Attendu : fin d’instruction
    Merci pour votre aide

    Répondre
  5. Bonsoir,
    Malheureusement je ne peux pas vous aider, je suis passé sous Calc d’autant que le script ne fonctionnait plus et que je n’avais pas le temps de chercher.
    Vous pouvez consulter cet autre article qui aboutit au même résultat avec Calc, peut-être est-il transposable sous Excel ?
    https://goo.gl/eVmGGD

    Répondre
  6. Bonjour,
    j’ai essayé la méthode mais sur la macro, les lignes 6 et 7 sont en rouge et je ne peux pas enregistrer la macro. J’ai modifié en mettant mon chemin mais ça ne fonctionne pas 🙁
    voici les lignes qui apparaissent en rouges :

    MkDir “c:\agents”
    MkDir “c:\agents\” & Cells(cptr, 1)

    le message d’erreur dit :

    erreur de compilation:
    attendu : numéro de ligne ou étiquette ou instruction ou fin d’instruction

    merci pour votre aide.
    Francis

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *