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
| Option Explicit
Dim i As Long, k As Long
Public monTab2Dim() As Variant
Sub essai()
ListerFichiersDansDossier "Chemin_du_Dossier", True
For i = 1 To UBound(monTab2Dim, 2)
Debug.Print "Fichier " & monTab2Dim(1, i) & " modifié le " & monTab2Dim(4, i)
Next
End Sub
Sub ListerFichiersDansDossier(NomDossierSource As String, InclureSousDossiers As Boolean)
'd'après une macro d' Ole P Erlandsen (modifié fs 11/8/01)
Dim FSO As Object 'As Scripting.FileSystemObject
Dim DossierSource As Object 'As Scripting.Folder
Dim SousDossier As Object 'As Scripting.Folder
Dim Fichier As Object 'As Scripting.File
Set FSO = CreateObject("Scripting.FileSystemObject")
Set DossierSource = FSO.GetFolder(NomDossierSource)
For Each Fichier In DossierSource.Files
' remplissage du tableau
k = k + 1
ReDim Preserve monTab2Dim(1 To 7, 1 To k)
monTab2Dim(1, k) = Fichier.Name 'Fichier
monTab2Dim(2, k) = Fichier.ParentFolder & Application.PathSeparator 'racine
monTab2Dim(3, k) = Fichier.DateCreated 'date création
monTab2Dim(4, k) = Fichier.DateLastModified 'date modification
monTab2Dim(5, k) = ""
monTab2Dim(6, k) = Round(Fichier.Size / 1024, 1) 'taille du fichier
monTab2Dim(7, k) = Fichier.Type 'type de fichier
Next Fichier
If InclureSousDossiers Then
For Each SousDossier In DossierSource.SubFolders
ListerFichiersDansDossier SousDossier.Path, True
Next SousDossier
End If
Set Fichier = Nothing
Set DossierSource = Nothing
Set FSO = Nothing
End Sub |
Partager