Rechercher le fichier le plus récent avec critère
Résolu
icecube
-
icecube -
icecube -
bonjour a tous,
j'ai besoin d'une fonction qui cherche dans un répertoire , le fichier le plus récent dans le nom commence par FP21_FIN_
pour vous aider j'ai cette macro qui recherche le dernier fichier mais je ne sais pas comment lui intégrer le critère du fichier qui commence par FP21_FIN_
je vous remrcie par avnce
j'ai besoin d'une fonction qui cherche dans un répertoire , le fichier le plus récent dans le nom commence par FP21_FIN_
pour vous aider j'ai cette macro qui recherche le dernier fichier mais je ne sais pas comment lui intégrer le critère du fichier qui commence par FP21_FIN_
je vous remrcie par avnce
Function FindLastFile(Path As String)
'cette fonction permet de chercher le fichier le plus récent dans le répertoire
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 = Path & "\" & fName
End Function
1 réponse
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonsoir, suggestion:If file.DateCreated > fDate and left(file.name,9) = "FP21_FIN_" Then
-
salut, heu ce qui ne vas pas c'est que j'ai besoin qu'il me trouve un seule fichier; alors que la la fonction affiche deux malgré que l''heure de leur création est différente: voici le resultat :
tu vois la moi j veux qu"il récupére seulement le deuxieme car il a été créé a 20:19
?FindLastFile("C:\Users\Marseille\Desktop\OIG")
FP21_FIN_20180222_20185400.xlsx 22/02/2018 20:10:39 => 00:00:00
FP21_FIN_20180222_20203300.xlsx 22/02/2018 20:19:31 => 00:00:00
C:\Users\Marseille\Desktop\OIG\ -
Jj'ai fais une autre test mais finalement cette commande ne fais pas le boulot car j'ai changé un peu le nom du deuxieme fichier mais elle récupére quand meme donc la commande est fausse pour le moment: voici le résultat : Left(file.Name, 9) = "FP21_FIN*.xlsx" Then
?FindLastFile("C:\Users\Marseille\Desktop\OIG")
FP21_FIN_20180222_20185400.xlsx 22/02/2018 20:10:39 => 00:00:00
FP51_FIN_20180222_20203300.xlsx 22/02/2018 20:19:31 => 00:00:00
C:\Users\Marseille\Desktop\OIG\
-