Comment répertorier tous les fichiers du dossier et des sous-dossiers dans une feuille de calcul?
Avez-vous déjà essayé de répertorier 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 aucun moyen direct pour nous de lister les noms de fichiers d'un dossier et de son sous-dossier dans Excel, cependant, aujourd'hui, je vais vous présenter quelques astuces rapides pour résoudre ce travail.
Liste tous les noms de fichiers dans le dossier et le sous-dossier avec le code VBA
Répertoriez tous les noms de fichiers dans le dossier et le sous-dossier rapidement et facilement avec Kutools for Excel
Liste tous les noms de fichiers dans le dossier et le sous-dossier avec le code VBA
Normalement, Excel n'a pas de 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 le ALT + F11 clés dans Excel, et il ouvre le Microsoft Visual Basic pour applications fenêtre.
3Cliquez sur insérer > Moduleet collez le code suivant dans le Fenêtre du module.
Code VBA: liste tous les noms de fichiers dans le dossier et le 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 F5 clé pour exécuter ce code, et un Macros boîte de dialogue apparaît, sélectionnez le Liste principale nom de la macro, puis cliquez sur Courir bouton, voir capture d'écran:
5. Et dans le Explorer fenêtre, veuillez sélectionner le dossier dans lequel vous souhaitez lister tous les noms de fichiers, y compris les sous-dossiers, voir capture d'écran:
6. Après avoir spécifié le dossier, cliquez sur OK bouton, et tous les noms de fichiers dans le dossier et ses sous-dossiers ont été répertoriés dans la feuille de calcul actuelle à partir de la cellule A2, voir les captures d'écran:
Répertoriez tous les noms de fichiers dans le dossier et le sous-dossier rapidement et facilement avec Kutools for Excel
Avec le code ci-dessus, vous pouvez simplement lister les noms de fichiers, parfois, vous devez répertorier d'autres attributs, tels que la taille du fichier, le type de fichier, l'heure de création, le dossier contenant, etc. Kutools for Excel contient une fonction utile - Liste des noms de fichiers, avec cette fonction, vous pouvez rapidement lister tous ou certains types de noms de fichiers dans un dossier et ses sous-dossiers.
Kutools for Excel : avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation en 30 jours. |
Après l'installation de Kutools for Excel, veuillez suivre les étapes suivantes:
1Cliquez sur Entreprise > Import & Export > Liste des noms de fichiers, voir capture d'écran:
2. Dans le Liste des noms de fichiers boîte de dialogue, effectuez les opérations suivantes:
A: Cliquez bouton pour choisir le dossier dans lequel vous souhaitez lister les noms de fichiers;
B: Spécifiez le type de fichier que vous souhaitez répertorier dans Type de fichiers section;
C: Sélectionnez une unité de taille de fichier que vous souhaitez afficher Unité de taille de fichier .
Notes: Pour lister les noms de fichiers du sous-dossier, veuillez vérifier Inclure les fichiers dans les sous-répertoires, vous pouvez également vérifier le Inclure les fichiers et dossiers cachés Comme vous le souhaitez. Si vous cochez Créer des hyperliens option, il créera des hyperliens pour chaque nom de fichier et dossier.
3. Puis clique OK bouton, tous les fichiers contenus dans le dossier sélectionné et ses sous-dossiers ont été affichés avec les attributs suivants dans une nouvelle feuille de calcul. Voir la capture d'écran:
Cliquez pour en savoir plus sur cet utilitaire de liste de noms de fichiers.
Téléchargez et essayez gratuitement Kutools for Excel Now!
Démo : répertoriez tous les noms de fichiers dans le dossier et le sous-dossier avec Kutools for Excel
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la 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 facilite grandement votre travail
- Activer 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 réduit des centaines de clics de souris chaque jour!