Trouver le fichier le plus ancien dans un répertoire

Bonjour,

Je cherche à déterminer le fichier le plus ancien dans mon répertoire de sauvegardes. J'arrive à trouver facilement le plus plus récent avec datelastaccessed mais je ne trouve pas pour le plus ancien. Quelqu'un pourrait-il me donner une piste ?

Cordialement.

bonjour,

Faire un Dir sur tous les fichiers du répertoires et interroger la fonction FileDateTime.

La fonction est basée sur la date de dernière modification et non sur la date de création.

A+

Bonjour à tous !

Si le passage par VBA n'est pas incontournable, je vous livre une proposition via Power Query :

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

Bonsoir à vous,

Cela fonctionne avec FileDateTime.

Merci pour vos réponses rapides.

Bonsoir à tous !

Que voilà un sujet résolu.... Bien...:

Je vous remercie de ce retour.

Rechercher des sujets similaires à "trouver fichier ancien repertoire"