Bonsoir amis programmeur du soir


Comme le titre l'indique je souhaite obtenir le dernier fichier crée dans un répertoire dont le nom correspond à ma demande. En effet, toute les semaines un txt est déposé sur le serveur. Mais bien sur je souhaite récupérer le dernier en date (il y à un par semaine en gros).

C'est la que le bas blesse, je sais chercher avec le nom du fichier, mais j'arrive pas pour la condition du dernière en date.

Voici le code. Qui peut être amélioré lol

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
 
Dim fs, f, s
 
Sub test_dernier_fichier_nom_correct()
    Dim chemin As String, Fichier As String
    Dim nomF As String, ok As Boolean
    Dim wb As Workbook
    Dim D As Variant
 
    Set wb = ThisWorkbook
    chemin = "C:\Users\remy\Desktop\"    ' adapter
    nomF = LCase(Replace("Journee_A_Cloturer", " ", ""))
    Fichier = Dir(chemin & "*.txt*")    ' 1er fichier
   Do While (Len(Fichier) > 0)
        If Fichier <> nomF Then
            If InStr(LCase(Replace(Fichier, " ", "")), nomF) Then
                 Call ShowFileInfo("C:\Users\remy\Desktop\" & Fichier)
                                    'test si c'est bien le dernier fichier modifié 
                        If MsgBox("Ouvrir " & Fichier, vbYesNo + vbQuestion, "Nom correct ?") = vbYes Then
                            ok = True
                            Exit Do
                        End If
            End If
        End If
        Fichier = Dir()    ' fichier suivant
   Loop
    If ok Then
        MsgBox "Fichier trouvé"
        'code
    Else
        MsgBox "Fichier non trouvé"
    End If
End Sub
 
'un essaie avec la date création
Sub ShowFileInfo(filespec)
    'Dim fs, f, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFile(filespec)
    s = f.DateCreated
End Sub
Voili voilou j'espére avoir été clair