Ouvrir le dernier fichier creer dans un dossier

Salut la communauté

Pour le boulot j'ai besoin d'une macro qui va chercher dans un dossier telechargement le fichier le plus recent creer.

Tous ces fichiers sont obtenus et possèdent toujours la même structure avec un ensemble de 6 caractères qui suivent, seul diffère le numéro qui suit qui represente année/mois/jour - heures/minutes/secondes

C'est grace a des macro que j'ai recupéré ici (je remercie galopin01) mais dans un fichier datant de 10 ans..

J'ai une erreur au niveau du "i" qui ne reconnaît pas le fichier, alors que je l'ai assigné dans le i = FileDateTime(FName)

Sub galopin()
Dim MyPath$, FName$, Mem$, i
MyPath = "C:\Users\PJFK659\Downloads"     ' Définit le chemin d'accès.
FName = Dir(MyPath & "*.xls")
Mem = FName
i = FileDateTime(FName)
Do While FName <> ""
If FileDateTime(FName) > i Then
Mem = FName
i = FileDateTime(FName)
End If
FName = Dir
Loop

MsgBox Mem

End Sub

Merci d'éclairer ma lanterne

Bonjour,

2 modifications

le dernier " \ " manquant:

MyPath = "C:\Users\PJFK659\Downloads\"

rajouter le chemin sinon fichier introuvable

i = FileDateTime(MyPath & FName)

A+

Merci a toi @AlgoPlus

Re

J'ai réussi a intégrer la macro précédemment émise mais je souhaiterais la compléter afin d'ouvrir le dernier fichier (plus récent) qui a été placé dans le dossier "téléchargements".

Or ma macro ci dessus récupère seulement le nom du dernier fichier émis

Merci

Pas tout compris.

Pour ouvrir le classeur :

Workbooks.Open(chemin & nomclasseur )

adapter le chemin si

MyPath = "C:\Users\PJFK659\Downloads\"

ne pointe pas sur le bon dossier?

Bonjour,

A tester en exécutant la procédure "DernierFichier". Un message est affiché si un fichier est trouvé :

Sub DernierFichier()

    Dim Tbl() As String
    Dim Chemin As String
    Dim DateMax As Date
    Dim Fichier As String
    Dim I As Integer

    Chemin = "C:\Users\PJFK659\Downloads\"

    Tbl() = ListeFichiers(Chemin)

    If Not Not Tbl Then

        For I = 1 To UBound(Tbl)

            If DateMax < ProprietesFichier(Chemin & Tbl(I)) Then

                DateMax = ProprietesFichier(Chemin & Tbl(I))
                Fichier = Tbl(I)

            End If

        Next I

        MsgBox Fichier & vbCrLf & DateMax

    Else

        MsgBox "Aucun fichier dans le dossier !"

    End If

End Sub

Function ProprietesFichier(Chemin As String) As String

    Dim Fso As Object
    Dim Doc As Object

    If Dir(Chemin) <> "" Then

        Set Fso = CreateObject("Scripting.FileSystemObject")
        Set Doc = Fso.GetFile(Chemin)

        ProprietesFichier = Doc.DateLastModified

    End If

    Set Doc = Nothing
    Set Fso = Nothing

End Function

Function ListeFichiers(Chemin As String) As String()

    Dim Tbl() As String
    Dim Fichier As String
    Dim I As Integer

    Fichier = Dir(Chemin & "*")

    Do While (Len(Fichier) > 0)

        I = I + 1: ReDim Preserve Tbl(1 To I)
        Tbl(I) = Fichier

        Fichier = Dir()

    Loop

    ListeFichiers = Tbl()

End Function

Merci @Theze pour cette proposition détaillée et concise mais j'ai trouvé plus judicieux de simplement mettre mon fichier sur le réseau commun du site

Rechercher des sujets similaires à "ouvrir dernier fichier creer dossier"