Une recherche .... URGENT

Résolu
Ethan0026 Messages postés 14 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 2 juillet 2008 - 1 juil. 2008 à 15:27
Ethan0026 Messages postés 14 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 2 juillet 2008 - 2 juil. 2008 à 10:16
Bonjour,

J'aimerai rechercher un fichier dans un dossier précis... Mais le problème est que je n'ai pas le nom de fichier complet
Je m'explique autrement :
J'ai un fichier nommée : test_2008_vba.xls dans un dossier X
Je veux que mon programme cherche les fichiers qui contiennent les mots : test ou 2008 ou vba ....etc..

Comment faire ?

Merci d'avance pour vos réponses

2 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
1 juil. 2008 à 16:22
Salut,

J'ai ecrit ce qui suit directement  ici donc pas testé mais devrait etre quelque chose comme ça :

Dim CheminNomEtDate() As String, NbFichier As Long, i As Long
With Application.FileSearch
        .NewSearch 'nouvelle recherche
        .LookIn = "c:\Mes Documents" 'dans le repertoire :
        .FileName = "*test*" 'chaine recherché sur les nom de fichiers
        .SearchSubFolders = True 'dans les sous repertoire ? oui
        .Execute 'lancement de la recherche
       NbFichier = .FoundFiles.Count 'combien de fichier trouvé ?
       If NbFichier > 0 Then 'si au moins un fichier trouvé
           Redim CheminNomEtDate(1 to .FoundFiles.Count, 1) 'on dimensionne notre variable tableau
       Else 'si pas de fichier trouvé
           Msgbox "Aucun fichier Trouvé ! "
           .LookIn = "" 'variable percitente doit vider etre si l'on ne veut pas ce retrouvé a chercher dans le chemin precedent
           Exit Sub 'pas de fichier donc on arrete tout... snif!
       End If
       For i = 1 to NbFichier 'on rempli notre tableau avec les infos sur les fichier trouvé
           CheminNomEtDate(i, 0) = FoundFiles(i) 'le chemein +le nom
           CheminNomEtDate(i, 1) = FileDateTime(.FoundFiles(i)) 'la date
       Next i
       .LookIn = "" 'voir plus haut
End With

Voila

A+
      

        
3
Ethan0026 Messages postés 14 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 2 juillet 2008
2 juil. 2008 à 10:16
Merci !!
0
Rejoignez-nous