Comptage de fichiers récursif
Bonjour,
Je cherche à compter les fichiers .Txt de plusieurs répertoires et écrire les résultats dans une feuille.
J'ai lu la FAQ comptage de fichiers mais je n'arrive pas à mes fins.
J'essaie d'intégrer le comptage dans la macro suivante sous Excel 2016
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Sub TestDate()
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row ' Test Derniere ligne Feuille
Dim i As Integer
Dim F
Dim oFSO, oFld
Dim TextToDisplay
Dim Compteur As Integer ' Création compteur
Set oFSO = CreateObject("Scripting.FileSystemObject")
For i = 3 To DernLigne ' Demarrage Boucle récursive
TextToDisplay = ""
Compteur = 0 ' Remise à zéro du compteur de fichiers
F = Cells(i, "G").Value ' Contient ladresse Hypertexte des dossiers à traiter
Err.Clear
On Error Resume Next
Set oFld = oFSO.GetFolder(F)
TextToDisplay = oFld.DateCreated ' Lecture de la date.
Compteur = ' Ici j'aimerai La valeur du Compteur de *.Txt
Cells(i, "L") = TextToDisplay ' Ecriture de la date récupérée.
Cells(i, "M") = Compteur ' Ecriture du Compteur dans la cellule de mon choix
Err.Clear
Next i
End Sub |
Par avance merci à qui pourra me donner un coup de main.
Un début de soluce : avec oFld.Files
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
| Sub TestDate()
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row ' Test Derniere ligne Feuille
Dim i As Integer
Dim F
Dim oFS, oFld, oFc
Dim TextToDisplay
Dim Compteur As Integer ' Création compteur
Set oFSO = CreateObject("Scripting.FileSystemObject")
For i = 3 To DernLigne ' Demarrage Boucle récursive
TextToDisplay = ""
F = Cells(i, "G").Value ' Contient ladresse Hypertexte des dossiers à traiter
Err.Clear
On Error Resume Next
Set oFld = oFSO.GetFolder(F)
Set oFc = oFld.Files
TextToDisplay = oFld.DateCreated
Compteur = 0
For Each afile In oFc
If UCase(Right(afile.Name, 3)) = "TXT" Then
Compteur = Compteur + 1
End If
Next
Cells(i, "L") = TextToDisplay ' Ecriture de la date récupérée.
Cells(i, "M") = Compteur ' Ecriture du Compteur dans la cellule de mon choix
Err.Clear
Next i
End Sub |
8-)