Recherche par nom de fichier composé

[Résolu]
Signaler
Messages postés
175
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
8 mai 2017
-
Messages postés
175
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
8 mai 2017
-
Bonsoir,

Voila mon probléme :

Je posséde 2 textbox : Nom et Date
Un bouton = Recherche
Un FileListbox = FileListe

Voila j' aimerais effectuer une recherche du style :

Je tape dans Nom : Robert
Je tape dans Date : 27-02-2007

clic sur Recherche

Et que tous les fichiers contenant : Robert et 27-02-2007 s 'affiche dans la FileListBox

J' ai essayé plusieurs méthode du site mais rien ne fonctionne alors si quelqu un peut me donner un conseil.

Merci par avance.

Fripouil

7 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Essaye ceci (au hasard), avec une listbox List1 et un bouton Command1

Private Sub Command1_Click()
  MyPath = App.Path   & "\*Robert*27-02-2007*.*"
  MyName = Dir(MyPath)
  Do While MyName <> ""
     List1.AddItem MyName
    MyName = Dir
  Loop
End Sub
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Ton titre dit :

"Recherche par nom de fichier composé
"


et tu dis dans tes explications :

"Et que tous les fichiers contenant : Robert et 27-02-2007 s 'affiche dans la FileListBox"

Qu'en est-il finalement ?

- recherche des fichiers baptisés "*Robert*27-02-2007*.*   (où * est un "joker") ?
ou
- recherche des fichiers qui, en leur sein, contiennent à la fois "Robert" & "27-02-2007" ?
car c'est loin d'être la même chose !
Messages postés
175
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
8 mai 2017

Oui, Le nom du fichier contient entre autre Robert ET 27-02-2007 j' ai justement vu un code du style :


FileListe.Path = App.Path & "\Data"
FileListe.Pattern = "*truc*.*"

ou "truc" est une partie du nom, mais je n arrive pas à le faire fonctionner ou plus simplement cela ne fonctionne pas.

Fripouil
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Il va te falloir te tourner vers l'utilisation de la fonction FindFirstFile de la Librairie Kernel32 de l'API de Windows (elle admet les caractères "jokers")
et la poursuivre par l'utilisation de la fonction FindNextFile de la même librairie.

Celà t'évitera sans aucun doute de te lancer dans l'élaboration, par toi-même, de récursivités.

Tu trouveras un bon exemple, pour démarrer dans ce sens, sur ALLAPI
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Mais je vois dans ton dernier message que tu as écrit : 
App.Path & "\Data"

Il est clair que su tu connais par avance (est-ce bien le cas ?) le répertoire seul susceptible d'être "fouillé", les choses sont alors beaucoup plus simples ! (l'utilisation de Dir suffit, dans un tel cas)
Messages postés
175
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
8 mai 2017

Merci de votre intérêt à mon probléme

et oui c est bien le répertoire dans lequel j effectue mes recherches mais je bidouille plus qu autre chose la...

Fripouil
Messages postés
175
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
8 mai 2017

Voila ce que ca donne :

Lorsque l on modifie un nom ou une date ( ou les 2 ), je récupére les informations grace au TextBox : TxtNomFiche.

Private Sub TxtNom_Change()
TxtNomFiche.Text = "*" & TxtNom.Text & "*" & TxtDate.Text & "*.cpr"
End Sub

ET

Private Sub TxtDate_Change()
TxtNomFiche.Text = "*" & TxtNom.Text & "*" & TxtDate.Text & "*.cpr"
End Sub

Car je recherche avec des noms différents et des dates différentes donc à chaque modifications, on met a jour : TxtNomFiche.text

Puis dans mon bouton Ouvrir :

Private Sub BtnOuvrir_Click()
FileListe.Path = App.Path & "\Data"
FileListe.Pattern = TxtNomFiche.Text
End Sub

Voila et ca marche, merci de vos informations.
Fripouil