Public Sub Test()
'déclaration des variables
Dim myFso As Object, leDossier As Object, leFichier As Object
Dim pathDossier As String, tabFichiers() As String, iFichier As Long, jFichier As Long
Dim tmp As String, dateFormatee As String, pathFichierVieux As String, pathFichierRecent As String
'initialiser le path du dossier
pathDossier = "C:\Temp"
'récupérer le dossier
Set myFso = CreateObject("Scripting.FileSystemObject")
Set leDossier = myFso.GetFolder(pathDossier)
'initialiser le tableau (qui contiendra le chemin des fichiers)
ReDim tabFichiers(1 To leDossier.Files.Count, 1 To 2)
'boucler sur tous les fichiers
For Each leFichier In leDossier.Files
tmp = Left(leFichier.Name, Len(leFichier.Name) - InStr(StrReverse(leFichier.Name), "."))
tmp = Right(tmp, 8)
'si le nom du fichier se fini bien par 8 chiffres
If IsNumeric(tmp) Then
'reformater la date
dateFormatee = Mid(tmp, 5, 4) & Mid(tmp, 3, 2) & Mid(tmp, 1, 2)
'ajouter le path du fichier dans le tableau
iFichier = iFichier + 1
tabFichiers(iFichier, 1) = leFichier.Path
'ajouter la date reformatée "aaaammjj"
tabFichiers(iFichier, 2) = dateFormatee
End If
Next leFichier
'trier par ordre alphabétique le tableau
For iFichier = LBound(tabFichiers, 1) To UBound(tabFichiers, 1) - 1
For jFichier = iFichier + 1 To UBound(tabFichiers, 1)
If tabFichiers(iFichier, 2) > tabFichiers(jFichier, 2) Then
tmp = tabFichiers(jFichier, 2)
tabFichiers(jFichier, 2) = tabFichiers(iFichier, 2)
tabFichiers(iFichier, 2) = tmp
tmp = tabFichiers(jFichier, 1)
tabFichiers(jFichier, 1) = tabFichiers(iFichier, 1)
tabFichiers(iFichier, 1) = tmp
End If
Next jFichier
Next iFichier
'récupérer le path du fichier le plus vieux et du fichier le plus récent
pathFichierVieux = tabFichiers(LBound(tabFichiers, 1), 1)
pathFichierRecent = tabFichiers(UBound(tabFichiers, 1), 1)
End Sub