Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment lister tous les fichiers dans le dossier et les 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 aucun moyen direct pour nous de lister les noms de fichiers d'un dossier et son sous-dossier dans Excel, cependant, aujourd'hui, je vais introduire quelques astuces pour résoudre ce problème.

Liste tous les noms de fichiers dans le dossier et sous-dossier avec le code VBA

Lister tous les noms de fichiers dans le dossier et sous-dossier rapidement et facilement avec Kutools for Excel


Répertorie tous les fichiers d'un dossier incluant des sous-dossiers dans une feuille de calcul:

Kutools for Excel's Liste de noms de fichiers fonctionnalité, vous pouvez rapidement lister tous les noms de fichiers à partir d'un dossier y compris les sous-dossiers dans une nouvelle feuille de calcul. Cliquez pour télécharger et tester gratuitement Kutools for Excel maintenant!

fichiers de liste de doc dans le sous-dossier de dossier 9

Kutools for Excel: avec plus que 200 compléments Excel pratiques, libre d'essayer sans limitation dans les jours 60. Téléchargez et essai gratuit maintenant!



Normalement, Excel n'a pas de fonctionnalité intégrée pour gérer cette tâche, mais vous pouvez appliquer le code VBA suivant pour résoudre ce problème.

1. Activer une nouvelle feuille de calcul qui liste les noms de fichiers.

2. Maintenez le ALT + F11 clés dans Excel, et il ouvre la Microsoft Visual Basic pour applications fenêtre.

3. Cliquez 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 sous-dossier

Sub MainList()
'Updateby20150706
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 MainList nom de la macro, puis cliquez sur course bouton, voir capture d'écran:

fichiers de liste de doc dans le sous-dossier de dossier 1

5. Et dans le Feuilleter fenêtre, sélectionnez le dossier dans lequel vous souhaitez lister tous les noms de fichiers, y compris les sous-dossiers, voir capture d'écran:

fichiers de liste de doc dans le sous-dossier de dossier 2

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 en cours à partir de la cellule A2, voir les captures d'écran:

fichiers de liste de doc dans le sous-dossier de dossier 3
 1
fichiers de liste de doc dans le sous-dossier de dossier 4

Avec le code ci-dessus, vous pouvez simplement lister les noms de fichiers, parfois, vous devez lister d'autres attributs, tels que la taille du fichier, le type de fichier, l'heure de création, le dossier contenant et ainsi de suite. Kutools for Excel contient une fonction utile - Liste de noms de fichiersAvec cette fonctionnalité, vous pouvez rapidement répertorier tous les types de fichiers ou certains types de fichiers dans un dossier et ses sous-dossiers.

Kutools for Excel : avec plus de 300 compléments Excel pratiques, libre d'essayer sans limitation dans 60 jours.

Après l'installation de Kutools for Excel, s'il vous plaît faire avec les étapes suivantes:

1. Cliquez Entreprise > Import / Export > Liste de noms de fichiers, voir capture d'écran:

fichiers de liste de doc dans le sous-dossier de dossier 5 5

fichiers de liste de doc dans le sous-dossier de dossier 6 6

2. Dans le Liste de noms de fichiers boîte de dialogue, effectuez les opérations suivantes:

A: Cliquez sur fichiers de liste de doc dans le sous-dossier de dossier 7bouton pour choisir le dossier que vous voulez lister les noms de fichiers;

B: Spécifiez le type de fichier que vous souhaitez répertorier Type de fichiers section;

C: Sélectionnez une unité de taille de fichier que vous souhaitez afficher Unité de taille de fichier .

Note: Pour lister les noms de fichiers du sous-dossier, veuillez vérifier Inclure les fichiers dans les sous-répertoires, si vous vérifiez Créer des hyperliens option, il créera des liens hypertexte pour chaque nom de fichier et dossier.

Téléchargez et essai gratuit maintenant!

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:

fichiers de liste de doc dans le sous-dossier de dossier 8

Cliquez pour en savoir plus sur cet utilitaire.

Télécharger et tester gratuitement Kutools for Excel maintenant!


Kutools for Excel: avec plus que 200 compléments Excel pratiques, libre d'essayer sans limitation dans les jours 60. Téléchargez et essai gratuit maintenant!



Outils de productivité recommandés

Office Tab

étoile d&#39;or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d&#39;or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d&#39;or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d&#39;écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    James · 1 months ago
    My VBA is saying that the variable folder is not defined. Anyone know why this is?
  • To post as a guest, your comment is unpublished.
    Chris K · 6 months ago
    What was the purpose of the parameter ByVal xIsSubfolders As Boolean?
  • To post as a guest, your comment is unpublished.
    Leandro Barbosa · 6 months ago
    Extremamente elegante este código!
  • To post as a guest, your comment is unpublished.
    jumpjack · 8 months ago
    Sub "GetFileOwner()" in code above is not used.
    • To post as a guest, your comment is unpublished.
      skyyang · 8 months ago
      Hello, jumpjack,
      The above code works well in my Excel, which Excel version do you use?
  • To post as a guest, your comment is unpublished.
    Brett · 1 years ago
    Thankyou for this code it has helped me with a request a work, I am now able to import these results into Access for further transformation.Appreciate it.