Comment lister tous les fichiers d'un dossier et de ses sous-dossiers dans une feuille de calcul ?
Avez-vous déjà essayé de lister tous les noms de fichiers d'un dossier dans une feuille de calcul, y compris les fichiers situés dans ses sous-dossiers ? En fait, il n'y a pas de méthode directe pour lister les noms de fichiers d'un dossier et de ses sous-dossiers dans Excel. Cependant, aujourd'hui, je vais vous présenter quelques astuces rapides pour accomplir cette tâche.
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 avec du code VBA
Normalement, Excel ne dispose d'aucune fonctionnalité intégrée pour traiter cette tâche, mais vous pouvez appliquer le code VBA suivant pour résoudre ce problème.
1. Activez une nouvelle feuille de calcul qui listera les noms de fichiers.
2. Maintenez les touches ALT + F11 enfoncées dans Excel, et la fenêtre Microsoft Visual Basic for Applications s'ouvre.
3. Cliquez sur Insérer > Module, puis collez le code suivant dans la fenêtre Module.
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
4. Après avoir collé le code dans le Module, appuyez sur la touche F5 pour exécuter ce code, et une boîte de dialogue Macros apparaît. Sélectionnez le nom de macro MainList, puis cliquez sur le bouton Exécuter, voir capture d'écran :
5. Dans la fenêtre Parcourir, sélectionnez le dossier dont vous souhaitez lister tous les noms de fichiers, y compris ceux des sous-dossiers, voir capture d'écran :
6. Après avoir spécifié le dossier, cliquez sur le bouton OK, et tous les noms de fichiers du dossier et de ses sous-dossiers sont listés dans la feuille de calcul actuelle à partir de la cellule A2, voir captures d'écran :
![]() |
![]() |
![]() |
Lister rapidement et facilement tous les noms de fichiers dans un dossier et sous-dossier avec Kutools pour Excel
Avec le code ci-dessus, vous pouvez simplement lister les noms de fichiers. Parfois, vous devez lister d'autres attributs, comme la taille du fichier, le type de fichier, l'heure de création, le dossier contenant, etc. Kutools pour Excel contient une fonction utile – Liste des noms de fichiers, avec cette fonctionnalité, vous pouvez rapidement lister tous les noms de fichiers ou des types spécifiques dans un dossier et ses sous-dossiers.
Après avoir téléchargé et installé Kutools pour Excel, veuillez effectuer les étapes suivantes :
1. Cliquez sur Entreprise > Importer & Exporter > Liste des noms de fichiers, voir capture d'écran :
2. Dans la boîte de dialogue Liste des noms de fichiers, effectuez les opérations suivantes :
A: Cliquez sur le bouton pour choisir le dossier dont vous souhaitez lister les noms de fichiers ;
B : Spécifiez le type de fichier que vous souhaitez lister dans la section Type de fichier ;
C : Sélectionnez une unité de taille de fichier que vous souhaitez afficher dans la section Unité de taille des fichiers.
Remarque : Pour lister les noms de fichiers des sous-dossiers, cochez Inclure les fichiers des sous-répertoires. Vous pouvez également cocher Inclure les fichiers et dossiers masqués si nécessaire. Si vous cochez Créer des hyperliens, cela créera des hyperliens pour chaque nom de fichier et dossier.
3. Cliquez ensuite sur le bouton OK, et tous les fichiers contenus dans le dossier sélectionné et ses sous-dossiers sont affichés avec les attributs suivants dans une nouvelle feuille de calcul. Voir capture d'écran :
Cliquez ici pour en savoir plus sur cet utilitaire Liste des noms de fichiers.
Téléchargez et essayez gratuitement Kutools pour Excel dès maintenant !
Meilleurs outils de productivité Office
Dynamisez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité la plus essentielle pour vous...
Office Tab apporte une interface à onglets à Office, et facilite grandement 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, au lieu d’ouvrir de nouvelles fenêtres.
- Augmentez votre productivité de50% et réduisez des centaines de clics de souris chaque jour!