Passer au contenu principal

Créez plusieurs dossiers et sous-dossiers à partir d'une liste de données dans Excel

Supposons que vous disposiez d'une liste de noms d'employés dans une plage de feuilles de calcul et que vous souhaitiez créer des dossiers individuels pour chacun afin de stocker ses informations. La création manuelle de chaque dossier peut prendre du temps. Il existe cependant des méthodes efficaces pour accélérer ce processus. Dans ce guide, je partagerai plusieurs approches pour générer rapidement des dossiers en fonction des valeurs de cellule spécifiées.

Créer des dossiers basés sur les valeurs des cellules

Créez des dossiers et des sous-dossiers basés sur les valeurs de cellules avec le code VBA


Créer des dossiers basés sur les valeurs des cellules

Dans cette section, nous explorerons en détail diverses méthodes, en proposant des instructions complètes étape par étape pour créer rapidement et sans effort des dossiers basés sur une liste de valeurs de cellule.

Créez des dossiers à partir d'une liste à l'aide de la commande MD et du Bloc-notes

Transformer une liste d'Excel en dossiers à l'aide de la commande MD et du Bloc-notes est une astuce intelligente qui mélange des scripts par lots simples avec le talent d'Excel pour garder les choses organisées. Cette méthode est idéale pour créer rapidement de nombreux dossiers, sans avoir à tout faire à la main. Voici un guide étape par étape pour accomplir cette tâche :

Étape 1 : utilisez la commande MD pour créer des formules

Copiez ou saisissez la formule suivante dans une cellule vide à côté de la valeur de votre première cellule (B1, par exemple), puis faites glisser la poignée de recopie vers le bas pour appliquer la formule à tous les éléments de votre liste.

="MD "&A1

Étape 2 : Copiez et collez les formules dans un fichier Bloc-notes

  1. Actualités Ctrl + C pour copier les cellules avec la formule de commande MD.
  2. Ouvert Bloc-notes et appuyez sur Ctrl + V pour coller les commandes dans un nouveau fichier.

Étape 3 : Enregistrez le fichier Bloc-notes en tant que fichier .bat

Cliquez Enregistrer sous du Déposez votre dernière attestation dans le Bloc-notes, dans l'onglet Enregistrer sous dans la boîte de dialogue, choisissez un répertoire dans lequel vous souhaitez créer plusieurs dossiers, puis donnez un nom à ce fichier avec un .bat extension. Enfin, cliquez sur Épargnez bouton. Voir la capture d'écran:

Étape 4 : Double-cliquez sur le fichier .bat pour générer plusieurs dossiers

  1. Fermez le fichier Bloc-notes, accédez au dossier dans lequel vous avez précédemment enregistré le fichier .bat.
  2. Maintenant, soyez témoin de la magie : double-cliquez sur le fichier et vous verrez plusieurs dossiers créés en même temps. Voir la démo ci-dessous :
 

Créez des dossiers à partir d'une liste à l'aide d'un outil puissant - Kutools for Excel

Avec le puissant Kutools for Excel's Créer des dossiers à partir du contenu des cellules fonctionnalité, vous pouvez désormais créer facilement et rapidement des dossiers à partir d’une liste Excel. Mais cela ne s’arrête pas aux seuls dossiers de base ; Kutools vous permet également de créer des structures complexes avec des sous-dossiers à plusieurs niveaux en une seule fois. Quelques étapes simples peuvent transformer les données d'Excel en un système de dossiers organisés, augmentant ainsi considérablement votre productivité.

Notes: Si vous souhaitez l'utiliser Créer des dossiers à partir du contenu des cellules fonctionnalité, s'il vous plaît télécharger et installer Kutools pour Excel d'abord.

Après l'installation de Kutools for Excel, Cliquez s'il vous plait Kutools Plus > Import / Export > Créer des dossiers à partir du contenu des cellules ouvrir le Créer des dossiers à partir du contenu des cellules boite de dialogue:

  1. Sélectionnez les valeurs de cellule sur lesquelles vous souhaitez créer des dossiers ;
  2. Ensuite, cliquez sur le bouton pour spécifier le dossier de destination dans lequel vous souhaitez enregistrer les dossiers ;
  3. Enfin, cliquez sur OK .

Résultat:

Kutools traitera la liste de votre feuille et créera un dossier pour chaque entrée dans la destination spécifiée. Accédez au dossier de destination pour voir le résultat. Voir capture d'écran :

Conseils:
  1. Cette fonctionnalité utile peut également aider à créer des dossiers avec leurs sous-dossiers Comme vous le souhaitez. Pour ce faire, vous devez saisir les noms de dossier et de sous-dossier souhaités dans les cellules, en utilisant le signe barre oblique inverse (\) pour séparer chaque niveau. Le contenu de chaque cellule servira de guide pour configurer la structure souhaitée des dossiers et sous-dossiers.

    Ensuite, appliquez le Créer des dossiers à partir du contenu des cellules fonctionnalité, tous les dossiers ainsi que leurs sous-dossiers seront créés avec succès. Voir capture d'écran :
  2. Pour appliquer cette fonctionnalité, veuillez télécharger et installer Kutools pour Excel d'abord.
 

Créer des dossiers à partir d'une liste en utilisant le code VBA

L'utilisation du code VBA dans Excel peut transformer la tâche fastidieuse de création de dossiers à partir d'une liste en un processus rapide et automatisé. Cette section vous montrera comment appliquer le code VBA pour générer des dossiers.

Étape 1 : Ouvrez l'éditeur de module VBA et copiez le code

  1. Maintenez la touche ALT + F11 clés dans Excel, et il ouvre le Microsoft Visual Basic pour applications fenêtre.
  2. Cliquez insérer > Moduleet collez le code suivant dans le Module Fenêtre.
    Code VBA : créer des dossiers basés sur une liste de valeurs de cellules
    Sub CreateFoldersFromSelection()
    'Updateby Extendoffice
        Dim FolderPath As String
        Dim Cell As Range
        Dim SelectedRange As Range
        Dim FolderName As String
        On Error Resume Next
        Set SelectedRange = Application.InputBox("Select the range with folder names", "Kutools for Excel", Type:=8)
        If SelectedRange Is Nothing Then Exit Sub
        On Error GoTo 0
        
        With Application.FileDialog(msoFileDialogFolderPicker)
            .Title = "Select the destination Folder"
            .AllowMultiSelect = False
            If .Show <> -1 Then Exit Sub
            FolderPath = .SelectedItems(1) & "\"
        End With
        
        For Each Cell In SelectedRange
            FolderName = FolderPath & Cell.Value
            If Cell.Value <> "" And Not FolderExists(FolderName) Then
                MkDir FolderName
            End If
        Next Cell
    End Sub
    
    Function FolderExists(ByVal Path As String) As Boolean
        On Error Resume Next
        FolderExists = (GetAttr(Path) And vbDirectory) = vbDirectory
        On Error GoTo 0
    End Function
    

Étape 2 : Exécuter le code

  1. Après avoir collé ce code, veuillez appuyer sur F5 clé pour exécuter ce code. Dans la zone d'invite, sélectionnez les valeurs de cellule à partir desquelles vous souhaitez créer des dossiers. Et puis, cliquez OK.
  2. Puis, dans ce qui suit Sélectionnez le dossier de destination fenêtre, spécifiez le chemin de destination pour sortir les dossiers créés. Et puis, cliquez OK bouton, voir capture d'écran:

Résultat:

Après avoir exécuté le code VBA, rendez-vous dans le répertoire de destination pour voir le résultat. Vous y trouverez les dossiers nouvellement créés, chacun correspondant à un élément de votre liste Excel. voir capture d'écran :

Conseils:
  1. S'il y a des entrées en double dans les cellules, l'exécution du code entraînera la création d'un seul dossier pour ces doublons.
  2. Si vous utilisez fréquemment ce code, pensez à enregistrer votre classeur dans Classeur Excel prenant en charge les macros format. Cette action préserve le code dans le classeur, vous permettant de l'exécuter directement à l'avenir sans avoir besoin de ressaisir ou de réimporter le code.

Créez des dossiers et des sous-dossiers basés sur les valeurs de cellules avec le code VBA

Parfois, vous pourriez vous retrouver dans une situation où vous devez générer non seulement des dossiers, mais également leurs sous-dossiers correspondants, tous basés sur les données contenues dans les cellules Excel. Pour réaliser cette tâche, je vais introduire ici un code VBA.

Étape 1 : préparer les données

Tout d’abord, vous devez saisir les données comme illustré ci-dessous, placer les noms des dossiers principaux dans la première colonne et les noms des sous-dossiers dans la deuxième colonne.

Étape 2 : Ouvrez l'éditeur de module VBA et copiez le code

  1. Maintenez la touche ALT + F11 clés dans Excel, et il ouvre le Microsoft Visual Basic pour applications fenêtre.
  2. Cliquez insérer > Moduleet collez le code suivant dans le Module Fenêtre.
    Code VBA : créer des valeurs de cellule basées sur des dossiers et des sous-dossiers
    Sub CreateFoldersAndSubfoldersWithUserInput()
    'Updateby Extendoffice
        Dim Rng As Range
        Dim Cell As Range
        Dim basePath As String
        Dim fldrPicker As FileDialog
        Dim FolderPath As String, subfolderPath As String
        On Error Resume Next
        Set Rng = Application.InputBox("Select the range of cells (two columns: one is folder column, another s subfolder column):", "Kutools for Excel", Type:=8)
        If Rng Is Nothing Then Exit Sub
        On Error GoTo 0
        Set fldrPicker = Application.FileDialog(msoFileDialogFolderPicker)
        With fldrPicker
            .Title = "Select the Base Folder Path"
            .AllowMultiSelect = False
            If .Show <> -1 Then Exit Sub
            basePath = .SelectedItems(1)
        End With
        If Right(basePath, 1) <> "\" Then basePath = basePath & "\"
        For Each Cell In Rng.Columns(1).Cells
            If Not Cell.Value = "" Then
                FolderPath = basePath & Cell.Value
                If Not FolderExists(FolderPath) Then MkDir FolderPath
                If Not Cell.Offset(0, 1).Value = "" Then
                    subfolderPath = FolderPath & "\" & Cell.Offset(0, 1).Value
                    If Not FolderExists(subfolderPath) Then MkDir subfolderPath
                End If
            End If
        Next Cell
    End Sub
    
    Function FolderExists(FolderPath As String) As Boolean
        On Error Resume Next
        FolderExists = (GetAttr(FolderPath) And vbDirectory) = vbDirectory
        On Error GoTo 0
    End Function
    

Étape 3 : Exécuter le code

  1. Après avoir collé ce code, veuillez appuyer sur F5 clé pour exécuter ce code. Dans la zone d'invite, sélectionnez les valeurs de cellule à partir desquelles vous souhaitez créer des dossiers. Et puis, cliquez OK.
  2. Dans la fenêtre contextuelle suivante, spécifiez le chemin de destination pour afficher les dossiers créés. Et puis, cliquez OK bouton, voir capture d'écran:

Résultat:

Après avoir exécuté le code VBA, accédez au répertoire de destination pour voir le résultat. Vous constaterez que les dossiers et leurs sous-dossiers respectifs, comme dicté par les valeurs des cellules, ont été créés avec succès comme illustré ci-dessous :

Conseils:
  1. Ce code n'est disponible que pour créer uniquement les dossiers principaux et leurs sous-dossiers de premier niveau.
  2. Si vous utilisez fréquemment ce code, pensez à enregistrer votre classeur dans Classeur Excel prenant en charge les macros format. Cette action préserve le code dans le classeur, vous permettant de l'exécuter directement à l'avenir sans avoir besoin de ressaisir ou de réimporter le code.

Articles connexes:

  • Lister tous les dossiers et sous-dossiers dans Excel
  • Avez-vous déjà souffert de ce problème qui répertorie tous les dossiers et sous-dossiers d'un répertoire spécifié dans une feuille de calcul? Dans Excel, il n'existe pas de moyen rapide et pratique d'obtenir le nom de tous les dossiers d'un répertoire spécifique à la fois. Pour faire face à la tâche, cet article peut vous aider.
  • Copiez ou déplacez des fichiers d'un dossier à un autre en fonction d'une liste
  • Si vous avez une liste de noms de fichiers dans une colonne d'une feuille de calcul et que les fichiers se trouvent dans un dossier de votre ordinateur. Mais, maintenant, vous devez déplacer ou copier ces fichiers dont les noms sont répertoriés dans la feuille de calcul de leur dossier d'origine vers un autre, comme illustré ci-dessous. Comment pourriez-vous terminer cette tâche aussi rapidement que possible dans Excel?
  • Renommer plusieurs fichiers d'un dossier
  • Peut-être que la plupart d'entre nous souffrent de ce problème que nous devons renommer plusieurs fichiers dans un dossier, renommer les noms de fichiers un par un nous rendra fous s'il y a des centaines ou des milliers de fichiers dans ce dossier. Existe-t-il de bonnes fonctions pour nous permettre de faire face à cette tâche?
Comments (63)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
níže CZ verze

EN:

A better way to do this in a few seconds is to use cmd (.bat file)

If you have a list of names in excel, add the word MKdir in front of the name (folder name) and if it contains a space put the name in quotes. Then just copy it to notepad, save as and add the .bat extension. Once you have this, substitute the .bat file in the folder where it wants to be created and you're done.

If you want the cmd not to close write at the end of the puase like below

Here is the 3 word code *5* :

start
________
MKdir "Pixie Pin"

pause
________
end


this creates a folder named Pixie Pin in the folder where the command was run

CZ:

Lepší způsob jak to udělat během par sec. je použít cmd (.bat soubor)

Pokud máte seznam jmen v excelu, doplňte pomocí vzorečku slovo MKdir před jmeno (název složky) a pokud obsahuje mezeru dejte název do uvozovek. Poté stačí jen zkopírovat do oznámkového bloku (NotePad), dát uložit jako a dopsat příponu .bat . Jakmile toto máte, supsťte .bat soubor ve složce kde chce aby se vytvořili a máte to.

Pokud chcete aby se cmd nezavřelo napište na konec puase jako je níže

Zde je ten 3 slovný kód *5* :

start
________
MKdir "Pixie Pin"

pause
________
konec


toto vytvoří složku s názvem Pixie Pin ve složce kde byl příkaz spuštěn
This comment was minimized by the moderator on the site
This worked really well, even for someone with zero experience with VBA :-)
Would it be possible to adapt the macro or extend the macro to also create hyperlinks to the folders in the selected cells?
So for instance, Cell A3 is selected and you run the macro and the folder is created. Would it be possible to make cell A3 a hyperlink to the folder by expanding on the macro instead of doing that manually?
This comment was minimized by the moderator on the site
Hello, Marloes
To create hyperlinks for the cell values, the following vba code may help you:

First, please select the cell values, and then run this code, and select a folder for outputting the folders.

Sub MakeFoldersAndAddHyperlinksWithFolderSelection()
    Dim Rng As Range
    Dim maxRows, maxCols, r, c As Integer
    Dim folderPath As String
    Dim baseFolderPath As String
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    
    With fd
        If .Show = -1 Then
            baseFolderPath = .SelectedItems(1) & "\"
        Else
            MsgBox "No folder selected. Operation Cancelled."
            Exit Sub
        End If
    End With
    
    Set Rng = Selection
    maxRows = Rng.Rows.Count
    maxCols = Rng.Columns.Count
    
    For c = 1 To maxCols
        For r = 1 To maxRows
            folderPath = baseFolderPath & Rng.Cells(r, c).Value
            If Len(Dir(folderPath, vbDirectory)) = 0 Then
                MkDir folderPath
                On Error Resume Next
                ActiveSheet.Hyperlinks.Add Anchor:=Rng.Cells(r, c), Address:=folderPath, TextToDisplay:=Rng.Cells(r, c).Value
                On Error GoTo 0
            End If
        Next r
    Next c
End Sub


Please have a try, thank you!
This comment was minimized by the moderator on the site
please, i need that same macro but instead of saving them as folders, i need it to save as Excels.
This comment was minimized by the moderator on the site
is it possible to introduce a condition where if that condition is met the module can create 2 folders (each using a different path)?
if the first list of folders is in the A column then the condition occurs in the U column. The conditional criteria is whether the cell is empty or not.
if the condition is not met the module only makes one folder based on the selection.
This comment was minimized by the moderator on the site
Hi, a_c, sorry I have not found a method can solve this job yet.
This comment was minimized by the moderator on the site
Thank you very much
This comment was minimized by the moderator on the site
Thanks a lot! Your VBA code is really super
This comment was minimized by the moderator on the site
Is it possible to import data from a word to excel on colors algorythme? So, I spell the cities with red and countries with blue in a word, and the to import only these to excel. I don’t know if I made myself clear. Thanks
This comment was minimized by the moderator on the site
Thank you, this has saved me literally days of work.
This comment was minimized by the moderator on the site
Hello,


For the following code it shows error in

MkDir (ActiveWorkbook.Path & "\" & Rng(r, c))



It says Runtime error 76 path not found



Can someone please help me with this?

There are no unsupported characters in the file path.
Not sure what could be the problem

Thanks for the help!
This comment was minimized by the moderator on the site
thank you , time saved
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations