Trouver le fichier le plus récent d'un dossier

Soyez le premier à donner votre avis sur cette source.

Snippet vu 13 059 fois - Téléchargée 38 fois

Contenu du snippet

Cette fonction retourne le nom du fichier le plus récent dans un dossier indiqué.

Source / Exemple :


Function FindLastFile(Path As String)

    Dim fName As String
    Dim fDate As Date
    
    Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")

    Dim folder
    Set folder = fso.GetFolder(Path)
    
    Dim Files
    Set Files = folder.Files

    Dim File
    For Each File In Files
        If File.DateCreated > fDate Then
            fDate = File.DateCreated
            fName = File.Name
        End If
        Debug.Print File.Name, File.DateCreated, "=>", fName, fDate
    Next
    
    Set Files = Nothing
    Set folder = Nothing
    Set fso = Nothing

    FindLastFile = fName
    
End Function

Conclusion :


Il suffit d'appeler la fonction avec le code suivant :

MsgBox FindLastFile("d:\")

et la fonction renvoie le nom du fichier ayant la date de création la plus récente.

A voir également

Ajouter un commentaire Commentaires
cs_WebSeb Messages postés 9 Date d'inscription samedi 22 décembre 2001 Statut Membre Dernière intervention 10 avril 2005
13 oct. 2006 à 17:52
Salut

Et bien il y a beaucoup plus simple :

Private Sub Form_Load()

text1.text = FileDateTime("c:\test.txt")

End Sub

Et si tu tiens vraiment à utiliser le FileSystemObject, ca devient :

Private Sub Form_Load()

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

Set File = fso.GetFile("c:\test.txt")

text1.text = File.DateLastModified 'par exemple

End Sub

Tu trouveras plus d'informations pour utiliser le FileSystemObject sur le MSDN, à l'adresse http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/html/vbconFolderFileProcessing.asp

A+
Seb
mvery Messages postés 20 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 5 novembre 2009
13 oct. 2006 à 16:19
Salut,

en faite j'ai pas dit mais je suis un super debutant ...
logiquement ces le code suivant dont j'ai besoin

Private Sub Form_Load()
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim File

text1.text = File.DateTime("c:\test.txt")
End Sub

sauf que ma logigique doit pas etre bien logique parcque ca ne marche pas
peut tu maider un peu plus?
cs_WebSeb Messages postés 9 Date d'inscription samedi 22 décembre 2001 Statut Membre Dernière intervention 10 avril 2005
12 oct. 2006 à 18:27
Salut

Tu peux utiliser la fonction FileDateTime(tonfichier) qui te renvoie la date et l'heure du fichier en question.

WebSeb
mvery Messages postés 20 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 5 novembre 2009
12 oct. 2006 à 14:31
Bonjour,

je souhaite seulement afficher la date de création d'un fichier dans un textbox.
ca parait asser simple mais je n'y arrive pas en modifiant cette source.
peut t'on maider?

merci par avance

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.