OVH Cloud OVH Cloud

Fichier le plus récent dans un répertoire

2 réponses
Avatar
Oknam
Bonjour à tous

je voudrais récupérer le nom et la date du fichier le plus récent dans un
répertoire
j'essaie avec FileSearch mais je patauge.
J'utilise un tri par Date mais le résultat est identique si je met
msoSortOrderAscending et msoSortOrderDescending ce qui n'est pas logique.
De plus le fichier trouvé n'est pas le plus récent mais le plus vieux
alphabétiquement.
Avec des fichiers datés
28/05/05
02/06/05
12/06/05
Il me ressort a chaque fois le fichier du 02/06/05
quelqu'un à une idée sur la façon dont je pourrai m'en sortir ??
merci d'avance

voici mon code

Private Function RechercheNomFichier(strRepertoire, strFiltre)
With Application.FileSearch
.NewSearch
.LookIn = strRepertoire
.FileType = msoFileTypeAllFiles
.MatchTextExactly = False
If .Execute(msoSortByLastModified, msoSortOrderAscending) > 0 Then
For i = 1 To .FoundFiles.Count
strFichier = Dir(.FoundFiles(i))
If IsNull(strFiltre) Or InStr(1, strFichier, strFiltre) <> 0 Then
Exit For
else
strfichier = ""
End If
Next i
End If
End With

2 réponses

Avatar
Fred Pasc
Bonjour,

Si une requête peut te permettre de faire ce que tu veux, va lire un post de
"Louis Pat" il y a moins de 3 jours, ça devrait en tout cas t'aider à
commencer.
En espérant que ça va t'aider
A+
Fred

"Oknam" a écrit dans le message de news:

Bonjour à tous

je voudrais récupérer le nom et la date du fichier le plus récent dans un
répertoire
j'essaie avec FileSearch mais je patauge.
J'utilise un tri par Date mais le résultat est identique si je met
msoSortOrderAscending et msoSortOrderDescending ce qui n'est pas logique.
De plus le fichier trouvé n'est pas le plus récent mais le plus vieux
alphabétiquement.
Avec des fichiers datés
28/05/05
02/06/05
12/06/05
Il me ressort a chaque fois le fichier du 02/06/05
quelqu'un à une idée sur la façon dont je pourrai m'en sortir ??
merci d'avance

voici mon code

Private Function RechercheNomFichier(strRepertoire, strFiltre)
With Application.FileSearch
.NewSearch
.LookIn = strRepertoire
.FileType = msoFileTypeAllFiles
.MatchTextExactly = False
If .Execute(msoSortByLastModified, msoSortOrderAscending) > 0 Then
For i = 1 To .FoundFiles.Count
strFichier = Dir(.FoundFiles(i))
If IsNull(strFiltre) Or InStr(1, strFichier, strFiltre) <> 0
Then

Exit For
else
strfichier = ""
End If
Next i
End If
End With



Avatar
Gafish
Oknam wrote:
Bonjour à tous

je voudrais récupérer le nom et la date du fichier le plus récent
dans un répertoire


Un petit bout de code à adapter qui te permet d'accéder aux propriétés d'un
fichiers, il te suffira de boucler sur ton répertoire et de trier comme tu
souhaites :

Dim fso, f1
Set fso = CreateObject("Scripting.FileSy­stemObject")
Set monFic = fso.GetFile("c:unFichier.txt")
' Affiche les informations., mettre la gestion du code erreur car la date de
création n'est pas toujours accessible
On Error Resume Next
Debug.Print "Chemin : " & monFic.Path
Debug.Print "Nom : " & monFic.Name
Debug.Print "Date création : " & monFic.DateCreated
Debug.Print "Dernier acces : " & monFic.DateLastAccessed
Debug.Print "Dernière modif : " & monFic.DateLastModified
Debug.Print "Taille : " & monFic.Size
End Function

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr