Exporter les noms de fichiers sur Excel par macro
Bonjour à tous les lecteurs : Dans un dossier nommé par ex : X qui possède des sous dossiers Y , Z etc. et des fichiers nommés par ex de A à Z je voudrais lister l’ensemble du dossier X dans un feuille Excel.
De plus il me faut lister non seulement les Noms mais également les entêtes de colonnes du type (Modifié le : Type : Taille du fichier : Mots clés : Catégorie : Titre : Commentaires) voir copie d’écran.
J’ai bien trouvé une macro mais celle-ci ne liste pas la totalité de ce que je recherche car elle à besoin d’être complétée.
Est-ce possible d’extraire les noms des entêtes ?
Par avance merci pour votre aide.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
Sub Recup()
Dim Tbl() As String
Dim I As Integer
Dim Chemin As String
Chemin = Dossier
Tbl = EnumFichiers(Chemin)
'en colonne "A" et "B" de la feuille active si pas vide
If Not (Not Tbl) Then
For I = 1 To UBound(Tbl)
Cells(I, 1) = Left(Tbl(I), InStrRev(Tbl(I), ".") - 1) 'colonne nom
Cells(I, 2) = Right(Tbl(I), Len(Tbl(I)) - InStrRev(Tbl(I), ".")) 'extension de fichier
'Partie supposée à compléter pour les colonnes C D E F G H I ' voir copie d'écran
Next I
End If
End Sub
Function EnumFichiers(Chemin As String) As String()
Dim TableauFichiers() As String
Dim Fichier As String
Dim I As Integer
'complète le chemin le cas échéant
If Right(Chemin, 1) <> "\" Then Chemin = Chemin & "\"
'récupère les fichiers
Fichier = Dir(Chemin)
'boucle sur les fichiers du dossier
Do While (Len(Fichier) > 0)
I = I + 1
ReDim Preserve TableauFichiers(1 To I)
TableauFichiers(I) = Fichier
Fichier = Dir()
Loop
'retourne le tableau des noms de fichiers
EnumFichiers = TableauFichiers()
End Function
Function Dossier() As Variant
'1 ouvrir un fichier
'2 enregistrement de fichier
'3 sélection de fichier
'4 sélection de dossier
With Application.FileDialog(4)
.Show
On Error Resume Next 'si annuler
Dossier = .SelectedItems(1)
If Err.Number <> 0 Then Dossier = False
End With
End Function |
Pièce jointe 542774