KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Comment lister tous les dossiers et sous-dossiers dans Excel ?

AuteurXiaoyang Date de modification

Lorsque vous travaillez sur des tâches de gestion de répertoires ou de fichiers, il peut arriver que vous ayez besoin d’obtenir rapidement une liste exhaustive de tous les dossiers et sous-dossiers contenus dans un répertoire spécifique, et d’afficher ces informations directement dans Excel. Malheureusement, Excel ne propose ni fonction intégrée ni assistant simple permettant de récupérer automatiquement tous les dossiers ou sousNom du dossiers à partir d’un Chemin du fichier donné. Cet article présente un code VBA qui vous permet de lister tous les dossiers et sous-dossiers d’un répertoire de votre choix directement dans votre feuille de calcul. Cela réduit les risques d’erreur humaine et élimine les tâches fastidieuses, vous aidant ainsi à suivre et gérer efficacement l’organisation de vos données.

Utiliser un code VBA pour lister tous les dossiers et sous-dossiers


Utiliser un code VBA pour lister tous les dossiers et sous-dossiers

Si vous souhaitez extraire et afficher tous les dossiers et sous-dossiers d’un répertoire spécifié dans Excel, l’utilisation de VBA (Visual Basic for Applications) constitue une solution efficace. Cette approche offre flexibilité et contrôle, vous permettant non seulement d’obtenir les noms des dossiers, mais aussi des informations supplémentaires telles que les chemins des fichiers, les dates de création et les heures de dernière modification. Elle convient particulièrement aux utilisateurs à l’aise avec les fonctionnalités du mode Développeur d’Excel ainsi qu’à ceux qui gèrent des systèmes de fichiers dynamiques ou fréquemment mis à jour.

1. Appuyez sur ALT + F11 pour ouvrir l’éditeur « Microsoft Visual Basic pour Applications ». Cet outil vous permet d’ajouter et de modifier des macros dans votre classeur.

2. Dans l’éditeur VBA, cliquez sur Insertion > Module. Une nouvelle fenêtre de module s’ouvre. Copiez et collez le code suivant dans ce module :

Code VBA : Lister tous les dossiers et sousNom du dossiers

Sub FolderNames()
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim xPath As String
Dim xWs As Worksheet
Dim fso As Object, j As Long, folder1 As Object
With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "Choose the folder"
    .Show
End With
On Error Resume Next
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
Application.Workbooks.Add
Set xWs = Application.ActiveSheet
xWs.Cells(1, 1).Value = xPath
xWs.Cells(2, 1).Resize(1, 5).Value = Array("Path", "Dir", "Name", "Date Created", "Date Last Modified")
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder1 = fso.getFolder(xPath)
getSubFolder folder1
xWs.Cells(2, 1).Resize(1, 5).Interior.Color = 65535
xWs.Cells(2, 1).Resize(1, 5).EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
Sub getSubFolder(ByRef prntfld As Object)
Dim SubFolder As Object
Dim subfld As Object
Dim xRow As Long
For Each SubFolder In prntfld.SubFolders
    xRow = Range("A1").End(xlDown).Row + 1
    Cells(xRow, 1).Resize(1, 5).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder.DateLastModified)
Next SubFolder
For Each subfld In prntfld.SubFolders
    getSubFolder subfld
Next subfld
End Sub

3. Après avoir inséré le code, appuyez sur F5 ou cliquez sur le bouton Exécuter dans l’éditeur VBA pour lancer la macro. Une boîte de dialogue Choisir le dossier s’affichera, vous invitant à sélectionner le répertoire cible à analyser afin d’en extraire les dossiers et sous-dossiers.

code VBA pour sélectionner le nom du dossier

4. Sélectionnez le répertoire souhaité et cliquez sur OK. La macro traitera le répertoire et générera une nouvelle liste des classeurs incluant tous les dossiers et sous-dossiers, accompagnés de leurs chemins complets, du répertoire parent immédiat, de leurs noms, de leurs dates de création ainsi que de leurs dernières dates de modification, comme illustré ci-dessous :

tous les noms de dossiers sont répertoriés dans Excel

Quelques conseils pratiques et remarques pour utiliser ce code :

  • Si votre structure de répertoires est très volumineuse, la macro peut prendre un certain temps pour traiter tous les dossiers. Veuillez faire preuve de patience pendant l’exécution et éviter d’interrompre le processus.
  • La méthode VBA exige que vos paramètres de macros soient activés ; sinon, le code ne s’exécutera pas correctement. Si vous rencontrez des avertissements de sécurité, vérifiez vos paramètres du Centre de gestion de la confidentialité dans les Options Excel.
  • Si vous sélectionnez accidentellement le mauvais dossier, relancez simplement la macro et choisissez le bon répertoire.
  • Cette approche répertorie uniquement les dossiers et sous-dossiers ; si vous souhaitez également inclure les fichiers, consultez l’article associé ci-dessous pour découvrir davantage d’options.
  • Si plusieurs utilisateurs partagent le classeur, n’oubliez pas de leur rappeler qu’ils doivent activer les macros sur leur propre ordinateur pour pouvoir utiliser cette fonctionnalité de liste dynamique.
  • Si le classeur généré est vide ou incomplet, assurez-vous que le répertoire sélectionné n’est pas vide et que vous disposez des autorisations de lecture suffisantes. Pour des arborescences de dossiers particulièrement profondes ou complexes, examinez les limites de ressources de votre système et envisagez un traitement par lots ou par sous-répertoires si nécessaire.

Cette solution VBA est flexible, ne nécessite aucun complément ni logiciel externe, et crée automatiquement un classeur de sortie pour votre commodité. Toutefois, elle convient surtout aux utilisateurs familiarisés avec les opérations de base liées aux macros, et pourrait nécessiter quelques ajustements supplémentaires pour des personnalisations spécifiques.


Article associé :

Comment lister les fichiers d’un répertoire dans une feuille de calcul Excel ?

Meilleurs outils de productivité Office

🤖Kutools IA Aide: Révolutionnez Analyse des données grâce à :Exécution intelligente   |  Générez du code|  Créez formules personnalisées  |  Analysez des données et générez des graphiques|  Appelez Fonctions améliorées
Fonctionnalités populaires:Rechercher, mettre en surbrillance ou Marquer les doublons   |  Supprimer les lignes vides   |  Combinez les colonnes ou cellules sans perdre de données   |   Arrondi sans utiliser de formule...
Super RECHERCHEV:RechercheValeurs avec critères multiples  |  RechercheValeurs avec valeurs multiples  |   RechercheValeurs dans plusieurs feuilles   |   Correspondance floue....
Liste déroulante avancée:Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple....
Gestionnaire de colonnes:Ajouter un nombre précis de colonnes|Déplacer des colonnes|Basculer la visibilité des colonnes masquées|Comparer des plages et des colonnes...
Fonctionnalités vedettes:Mise au point de la grille   |  Vue de conception   |Barre de formule améliorée   | Gestionnaire de classeurs et de feuilles   |  Bibliothèque de ressources(Texte automatique)|  Sélecteur de date   |  Consolider les feuilles de calcul  |  Chiffrer/Déchiffrer les cellules   | Envoyer des e-mails par liste   |  Super Filtre   |   Filtre spécial(Filtrer les cellules avec une police en gras/italique/barré...) ...
… et bien plus encore… et plus encore:(,)Supprimer des caractères spécifiques, ...)|   50+Typesde graphiques(, ...)|   40+ Formules pratiques(Calculer l'âge en fonction de la date de naissance, ...)|   19 Outils d’insertion(,Insérer une image depuis un chemin , ...)|   de conversion (Convertir en mots,Conversion de devises, ...)|Fusionner et scinder   (Fusion avancée des lignes,Diviser les cellules , ...)|, ...)   |
Utilisez Kutools dans la langue de votre choix – disponible en anglais, espagnol, allemand, français, chinois et 40+ autres langues !

Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile

  • Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !

Tous les compléments Kutools. Un seul installateur

Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.

ExcelWordOutlookTabsPowerPoint
  • Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
  • Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
  • Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
  • Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
  • Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels