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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| Function triDecroissant_Fichiers_DateDreation()
Dim Fichier As String, Chemin As String
'
'Nécessite d'activer la référence "Microsoft Scripting RunTime"
'
Dim Fso As Scripting.FileSystemObject
Dim FileItem As Scripting.File
Dim Tableau()
Dim m As Integer, i As Integer
Dim z As Byte, Valeur As Byte
Dim Cible As Variant
'---liste les fichiers du répertoire ---
Chemin = "F:\MonDossier"
Fichier = Dir(Chemin & "\*.*")
'pour filtrer sur un type de fichiers (par exemple xls)
'Fichier = Dir(Chemin & "\*.xls")
'Boucle sur les fichiers
Do
m = m + 1
ReDim Preserve Tableau(2, m)
Tableau(1, m) = Fichier
Set Fso = CreateObject("Scripting.FileSystemObject")
Set FileItem = Fso.GetFile(Chemin & "\" & Fichier)
'Récupère la date de création
Tableau(2, m) = Left(FileItem.DateCreated, 10)
'Pour récupérer la date de dernière modification
'Tableau(2, m) = Left(FileItem.DateLastModified, 10)
'Pour récupérer la taille du fichier
'Tableau(2, m) = Left(FileItem.Size, 10)
Fichier = Dir
Loop Until Fichier = ""
'---Trie les fichiers par ordre décroissant de création ---
Do
Valeur = 0
For i = 1 To m - 1
If CDate(Tableau(2, i)) < CDate(Tableau(2, i + 1)) Then
For z = 1 To 2
Cible = Tableau(z, i)
Tableau(z, i) = Tableau(z, i + 1)
Tableau(z, i + 1) = Cible
Next z
Valeur = 1
End If
Next i
Loop While Valeur = 1
'--- Transfère les données dans la feuille de calcul ---
'Sélection d'une cellule (calculée par rapport à la cellule active actuelle)
For i = 1 To m
Cells(i + 1, 1) = Tableau(1, i)
Cells(i + 1, 2) = Tableau(2, i)
Next i
'Pour transférer par ordre croissant:
'For i = m To 1 Step -1
'Cells(m - i + 1, 1) = Tableau(1, i)
'Cells(m - i + 1, 2) = Tableau(2, i)
'Next i
'Ajuste la taille des colonnes
Columns("A:B").AutoFit
End Sub |
Partager