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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 332 fois - Téléchargée 36 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

Messages postés
9
Date d'inscription
samedi 22 décembre 2001
Statut
Membre
Dernière intervention
10 avril 2005

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
Messages postés
20
Date d'inscription
mercredi 26 octobre 2005
Statut
Membre
Dernière intervention
5 novembre 2009

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?
Messages postés
9
Date d'inscription
samedi 22 décembre 2001
Statut
Membre
Dernière intervention
10 avril 2005

Salut

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

WebSeb
Messages postés
20
Date d'inscription
mercredi 26 octobre 2005
Statut
Membre
Dernière intervention
5 novembre 2009

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.