Bonjour,
Avec une fonction selon l'heure de création, d'accès, de modification en paramètre.
Attention, si l'heure a de l'importance, elle est corrigée en fonction de l'heure en cours (heure d'été, heure d'hiver). Le problème ne devrait pas se poser puisqu'il s'agit de trouver le fichier le plus ancien.
Function LePlusAncien(ByVal Repertoire As String, ByVal Mode As String) As String
Dim Fso As Object, Fich As Object
Dim MaDate As Date
LePlusAncien = ""
Set Fso = CreateObject("Scripting.FileSystemObject")
MaDate = CDate("31/12/2099")
For Each Fich In Fso.GetFolder(Repertoire).Files
Select Case Mode
Case "Création"
If CDate(Fich.DateCreated) < MaDate Then
MaDate = Fich.DateCreated
LePlusAncien = Fich.Name
End If
Case "Accès"
If CDate(Fich.DateLastModified) < MaDate Then
MaDate = Fich.DateLastAccessed
LePlusAncien = Fich.Name
End If
Case "Modification"
If CDate(Fich.DateLastModified) < MaDate Then
MaDate = Fich.DateLastModified
LePlusAncien = Fich.Name
End If
End Select
Next Fich
End Function
Sub Test()
Debug.Print "Création : " & LePlusAncien("D:\XXXX\", "Création")
Debug.Print "Accès : " & LePlusAncien("D:\XXXX\", "Accès")
Debug.Print "Modification : " & LePlusAncien("D:\XXXX\", "Modification")
End Sub