Recherche par nom de fichier composé

Résolu
cs_Fripouil Messages postés 175 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 8 mai 2017 - 27 févr. 2007 à 20:24
cs_Fripouil Messages postés 175 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 8 mai 2017 - 27 févr. 2007 à 23:17
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

jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
27 févr. 2007 à 22:51
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
3
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
27 févr. 2007 à 20:44
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 !
0
cs_Fripouil Messages postés 175 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 8 mai 2017
27 févr. 2007 à 21:55
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
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
27 févr. 2007 à 22:09
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
27 févr. 2007 à 22:14
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)
0
cs_Fripouil Messages postés 175 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 8 mai 2017
27 févr. 2007 à 22:30
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
0
cs_Fripouil Messages postés 175 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 8 mai 2017
27 févr. 2007 à 23:17
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
0