Comment lister tous les fichiers d'un dossier et de ses sous-dossiers dans une feuille de calcul ?
Lorsque vous travaillez avec de grands ensembles de fichiers stockés dans divers dossiers et sous-dossiers, vous pouvez parfois avoir besoin de générer une liste complète de tous les noms de fichiers à des fins de suivi, de catalogage ou de traitement par lots. Cependant, Excel ne fournit pas de fonctionnalité intégrée directe pour lister tous les noms de fichiers d'un dossier – y compris ses sous-dossiers – dans une feuille de calcul. Cette limitation peut poser des défis, surtout si les structures de dossiers sont complexes ou si les fichiers sont régulièrement mis à jour. Heureusement, il existe des méthodes pratiques et fiables pour accomplir cette tâche efficacement dans Excel.
Dans ce guide, vous découvrirez plusieurs approches pour lister tous les noms de fichiers – y compris ceux à l'intérieur des sous-dossiers – directement dans une feuille de calcul Excel, accompagnées d'étapes détaillées, d'explications sur les paramètres et de conseils pour éviter les erreurs courantes. Ces solutions vous aideront à rationaliser votre processus de gestion des fichiers et peuvent être adaptées à diverses tâches organisationnelles professionnelles ou personnelles.
Lister tous les noms de fichiers dans un dossier et sous-dossier avec du code VBA
Lister tous les noms de fichiers dans un dossier et sous-dossier rapidement et facilement avec Power Query
Dans les versions récentes d'Excel, la fonctionnalité Get Data (Power Query) peut être utilisée pour charger la liste des fichiers d'un dossier, y compris certains attributs sélectionnés.
1. Allez dans Données > Obtenir des données > À partir du fichier > À partir du dossier.
2. Sélectionnez le dossier dont vous souhaitez lister tous les fichiers, puis cliquez sur Ouvrir.
Un tableau liste tous les fichiers du dossier sélectionné, y compris les fichiers dans les sous-dossiers.
3. Cliquez sur Charger / Charger vers pour charger la liste dans une feuille de calcul.
Lister tous les noms de fichiers dans un dossier et sous-dossier rapidement et facilement avec Kutools pour Excel
Bien que VBA soit habile à générer des listes simples, il peut sembler moins pratique pour les utilisateurs qui ne sont pas familiers avec le codage ou les paramètres de sécurité des macros d'Excel. De plus, si vous souhaitez lister non seulement les noms de fichiers, mais aussi afficher leurs tailles, types, dates de création ou de modification, et d'autres attributs détaillés en une seule fois, l'add-in Kutools pour Excel offre une solution intuitive et robuste.
L'outil Liste des noms de fichiers dans Kutools pour Excel vous permet de collecter des informations sur les fichiers d'un dossier sélectionné ainsi que de tous ses sous-dossiers en quelques clics de souris. Cette approche est particulièrement bénéfique pour les utilisateurs qui nécessitent une flexibilité supplémentaire comme le filtrage par type de fichier, la création de liens hypertexte pour un accès facile, ou l'inclusion de fichiers et dossiers masqués dans les résultats. Il est particulièrement utile pour gérer des archives de documents, suivre des bibliothèques multimédias, ou préparer des inventaires de données pour sauvegarde ou audit. Veuillez noter qu'il est nécessaire de télécharger et d'installer Kutools pour Excel avant de procéder aux étapes ci-dessous.
Après avoir terminé l'installation, suivez ces étapes pour utiliser la fonction Liste des noms de fichiers :
1. Cliquez sur l'onglet Enterprise dans la barre d'outils Excel, sélectionnez Importer et Exporter, puis choisissez Liste des noms de fichiers dans le menu. Cela ouvrira la boîte de dialogue de configuration.
2. Dans la boîte de dialogue Liste des noms de fichiers, vous pouvez spécifier les options suivantes pour adapter la liste des fichiers à vos besoins :
A: Cliquez sur l'icône du dossier pour sélectionner le dossier que vous souhaitez analyser. L'outil inclura automatiquement les sous-dossiers si désiré.
B : Dans la section Type de fichier, sélectionnez "Tous les fichiers" pour inclure chaque fichier indépendamment de son type, ou spécifiez une extension particulière (comme *.xlsx, *.docx, etc.) si vous êtes intéressé uniquement par des fichiers d'un certain type.
C : Dans la section Unité de taille de fichier, vous pouvez choisir entre différentes unités (telles que Octets, Ko, Mo) pour lister les tailles des fichiers afin de faciliter leur interprétation.
Remarque : Pour inclure les noms de fichiers de tous les sous-dossiers, assurez-vous de cocher l'option Inclure les fichiers dans les sous-répertoires. De plus, vous pouvez cocher Inclure les fichiers et dossiers masqués si vous souhaitez également les lister. En sélectionnant l'option Créer des hyperliens, des liens cliquables vers chaque fichier et dossier seront générés automatiquement, ce qui est utile pour accéder rapidement aux fichiers directement depuis la feuille de calcul. Si certains fichiers manquent dans la liste, vérifiez vos sélections de filtres et assurez-vous que les fichiers ne sont pas restreints par des permissions ou limitations système.
3. Cliquez sur OK pour générer la liste des fichiers. Tous les fichiers du dossier sélectionné et de ses sous-dossiers seront affichés sur une nouvelle feuille de calcul, ainsi que les attributs de fichiers choisis (tels que le chemin complet, la taille, le type, les dates de création et de modification). Cela fournit une vue claire et organisée, et vous pouvez utiliser les fonctionnalités de filtrage et de tri familières d'Excel pour gérer davantage vos données.
Cliquez ici pour en savoir plus sur cet utilitaire Liste des noms de fichiers.
Téléchargez et essayez Kutools pour Excel dès maintenant !
Lister tous les noms de fichiers dans un dossier et sous-dossier avec du code VBA
Par défaut, Excel n'inclut pas de fonction native pour lister récursivement les fichiers des dossiers et de leurs sous-dossiers. Cependant, vous pouvez utiliser VBA (Visual Basic for Applications) pour automatiser ce processus. Utiliser VBA permet aux utilisateurs avancés d'étendre les capacités d'Excel, vous offrant la flexibilité de personnaliser la sortie – par exemple, récupérer uniquement les noms de fichiers ou inclure des propriétés supplémentaires telles que les chemins des fichiers.
Cette solution est particulièrement adaptée lorsque vous êtes à l'aise avec l'éditeur VBA et que vous devez automatiser des procédures de listing similaires de manière régulière. Elle est également utile pour toute personne souhaitant garder son environnement Excel épuré sans installer d'add-ins. Cependant, notez que les macros VBA nécessitent l'activation des macros dans Excel, ce qui peut être restreint dans des environnements à haute sécurité. N'oubliez jamais de sauvegarder votre classeur avant d'exécuter des macros pour éviter toute perte de données accidentelle si vous avez des modifications non sauvegardées.
1. Créez ou activez une nouvelle feuille de calcul où vous souhaitez lister tous les noms de fichiers. Assurez-vous que cette feuille de calcul est vide pour éviter d'écraser des données importantes.
2. Appuyez sur ALT + F11 pour ouvrir la fenêtre de l'éditeur Microsoft Visual Basic pour Applications (VBA).
3. Dans la fenêtre VBA, cliquez sur Insérer dans la barre de menu, puis choisissez Module. Cette action insérera un nouveau module où vous pourrez coller votre code VBA.
Code VBA : Lister tous les noms de fichiers dans un dossier et sous-dossier
Sub MainList()
'Updateby Extendoffice
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show <> -1 Then Exit Sub
xDir = folder.SelectedItems(1)
Call ListFilesInFolder(xDir, True)
End Sub
Sub ListFilesInFolder(ByVal xFolderName As String, ByVal xIsSubfolders As Boolean)
Dim xFileSystemObject As Object
Dim xFolder As Object
Dim xSubFolder As Object
Dim xFile As Object
Dim rowIndex As Long
Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = Application.ActiveSheet.Range("A65536").End(xlUp).Row + 1
For Each xFile In xFolder.Files
Application.ActiveSheet.Cells(rowIndex, 1).Formula = xFile.Name
rowIndex = rowIndex + 1
Next xFile
If xIsSubfolders Then
For Each xSubFolder In xFolder.SubFolders
ListFilesInFolder xSubFolder.Path, True
Next xSubFolder
End If
Set xFile = Nothing
Set xFolder = Nothing
Set xFileSystemObject = Nothing
End Sub
Function GetFileOwner(ByVal xPath As String, ByVal xName As String)
Dim xFolder As Object
Dim xFolderItem As Object
Dim xShell As Object
xName = StrConv(xName, vbUnicode)
xPath = StrConv(xPath, vbUnicode)
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.Namespace(StrConv(xPath, vbFromUnicode))
If Not xFolder Is Nothing Then
Set xFolderItem = xFolder.ParseName(StrConv(xName, vbFromUnicode))
End If
If Not xFolderItem Is Nothing Then
GetFileOwner = xFolder.GetDetailsOf(xFolderItem, 8)
Else
GetFileOwner = ""
End If
Set xShell = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
End Function
Avant d'exécuter le code, passez en revue les commentaires pour vous familiariser avec les fonctions et variables utilisées. Si vous souhaitez modifier les données listées (comme les chemins complets ou les types de fichiers), vous devrez peut-être ajuster le code en conséquence.
4. Une fois que le code est collé dans la fenêtre du module, appuyez sur la touche F5 pour exécuter le code. Une boîte de dialogue Macros apparaîtra ; sélectionnez le nom de la macro MainList et cliquez sur Exécuter. Si vous avez une autre macro portant un nom similaire, assurez-vous de sélectionner celle appropriée.
5. Dans la boîte de dialogue Parcourir qui apparaît, naviguez jusqu'à et sélectionnez le dossier cible dont vous souhaitez lister les fichiers et sous-dossiers. Choisir le bon dossier de départ est important, car la macro récupérera récursivement les fichiers de tous les sous-dossiers imbriqués.
6. Après avoir spécifié le dossier souhaité, cliquez sur OK. La macro traitera maintenant le dossier et tous ses sous-répertoires, produisant une liste de tous les noms de fichiers dans la feuille de calcul actuelle à partir de la cellule A2. Selon le nombre de fichiers et la profondeur de la structure des sous-dossiers, ce processus peut prendre plusieurs secondes ou plus longtemps. La liste résultante fournit une vue détaillée du contenu de votre dossier.
![]() |
![]() |
![]() |
Si vous recevez une erreur, vérifiez que le dossier sélectionné existe et contient des fichiers, et assurez-vous que les macros sont activées dans vos paramètres de sécurité Excel. Si vous travaillez avec une grande structure de dossiers ou des lecteurs réseau, le temps de traitement peut augmenter et vous pourriez recevoir des erreurs de délai d'attente ou de mémoire – essayez d'exécuter la macro sur des sous-dossiers plus petits si cela se produit.
Bien que VBA soit efficace pour une liste de fichiers basique, il ne capture généralement pas par défaut des attributs tels que la taille des fichiers, la date de modification ou le propriétaire du fichier. Si vous avez besoin de ces détails supplémentaires, envisagez de modifier le code ou utilisez une méthode alternative comme décrit ci-dessous.
Pour de meilleurs résultats, examinez et mettez régulièrement à jour vos listes de fichiers, surtout si le contenu des dossiers change fréquemment. Confirmez toujours que vous disposez des autorisations nécessaires, en particulier lors du balayage de localisations réseau ou de lecteurs partagés. Si vous rencontrez des résultats inattendus, vérifiez les problèmes tels que les fichiers cachés, les retards de synchronisation ou les limitations d'accès aux fichiers. Si des fichiers ou dossiers sont ignorés, essayez d'exécuter Excel en tant qu'administrateur ou utilisez des structures de dossiers simplifiées.
Choisir la meilleure méthode dépend de votre niveau de confort, de vos exigences spécifiques et de la fréquence à laquelle vous devez effectuer la tâche. Chaque méthode a ses avantages – vous pouvez utiliser VBA pour la personnalisation, Kutools pour sa commodité et ses nombreux attributs, ou les fonctionnalités natives de Windows/Excel pour la solution la plus simple sans outils externes. Si des problèmes persistent, consultez la documentation Excel ou système pour un dépannage supplémentaire.
Meilleurs outils de productivité pour Office
Améliorez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité incomparable. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte l’interface par onglets à Office, simplifiant considérablement votre travail.
- Activez la modification 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é de50 % et réduit des centaines de clics de souris chaque jour !
Tous les modules complémentaires Kutools. Une seule installation
La suite Kutools for Office regroupe les modules complémentaires pour Excel, Word, Outlook & PowerPoint ainsi qu’Office Tab Pro, idéal pour les équipes travaillant sur plusieurs applications Office.





- Suite tout-en-un — modules complémentaires Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Un installateur, une licence — installation en quelques minutes (compatible MSI)
- Une synergie optimale — productivité accélérée sur l’ensemble des applications Office
- Essai complet30 jours — sans inscription, ni carte bancaire
- Meilleure valeur — économisez par rapport à l’achat d’add-ins individuels