Afficher les résultats d'une recherche dans une listbox

sword56

XLDnaute Nouveau
Bonjour à tous,

Après de nombreuses heures de recherches un peu partout sur le net, je me décide à poster sur ce forum pour demander de l'aide.
J'ai trouvé beaucoup de discussions sur le sujet mais impossible pour moi d'adapter les réponses données à mon problème, je me suis donc fais une raison, je n'y arriverai pas tout seul.

Alors voila :

J'ai une base de donnée d'évènements présente sur une feuille nommée "clients" constituée comme ceci :

Date | Atelier| .... | Heures non productives

De la colonne A à L et sur un nombre de lignes non limité

J'ai une textbox nommée "Texbox8" dans laquelle je rentre un terme à rechercher.
Je veux que cette recherche s'effectue sur toutes les cellules de ma base de données.
Lorsqu'un résultat est trouvé, je souhaite que toutes les lignes contenant la cellule où le terme a été trouvé s'affiche les unes après les autres dans ma listbox.

Je souhaite également que cette recherche soit "dynamique", c'est à dire qu'elle s'effectue à chaque fois qu'un caractère est rentré dans ma textbox8.

Voila ce que j'ai commencé à écrire :

Private Sub TextBox8_Change()

ListBox1.RowSource = ""

Dim x As Range, l As Integer
Set x = Cells.Find(TextBox8.Text, , xlValues, xlWhole, , , False)
If Not x Is Nothing Then
l = x.row

ListBox1.List(l, 1) = Cells(l, 1)
ListBox1.List(l, 1) = Cells(l, 2)
ListBox1.List(l, 2) = Cells(l, 3)
ListBox1.List(l, 3) = Cells(l, 4)
ListBox1.List(l, 4) = Cells(l, 5)
ListBox1.List(l, 5) = Cells(l, 6)
ListBox1.List(l, 6) = Cells(l, 7)
ListBox1.List(l, 7) = Cells(l, 8)
ListBox1.List(l, 8) = Cells(l, 9)
ListBox1.List(l, 9) = Cells(l, 10)
ListBox1.List(l, 10) = Cells(l, 11)
ListBox1.List(l, 11) = Cells(l, 12)
End If

End Sub


Comme vous devez vous en douter, cela ne fonctionne pas, j'ai toujours une erreur d'exécution 381 : impossible de définir la propriété list.index etc...

Je précise également que lorsqu'un terme est écrit dans ma zone de recherche, ma listbox contient déjà l'ensemble des données présentes dans ma base de donnée.
D'où le "ListBox1.RowSource = """ en début de programme.

Je sollicite donc votre aide précieuse pour m'aider à résoudre ce problème!

Cordialement,

Guillaume.

Ps : je viens d'y penser, mais ne serait-il pas plus simple de procéder à une suppression des lignes ne contenant pas le terme recherché dans ma listbox?
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Afficher les résultats d'une recherche dans une listbox

Bonjour et bienvenu sword56 :),

Puisqu'il n'y a pas de fichier joint, un essai de mon cru. Les données débutent en A2 de la feuille 'Feuil1' et s'étendent sur trois colonnes.

Pour augmenter vos chances de réponse rapide, il est indispensable de fournir un fichier exemple:
1) Non pas un fichier complet mais un petit fichier extrait de votre fichier de travail en ne conservant que quelques lignes par feuille.
2) Fichier expurgé de toutes données nominatives et confidentielles.
3) Avec une feuille montrant le résultat souhaité et avec les explications qui vont bien.
Pour joindre un fichier: Quand vous rédigez un nouveau message ou quand vous modifiez un de vos messages, passer en mode avancé et cliquez sur 'Gérer les pièces jointes'.
Choisissez vos fichiers à ll'aide des boutons 'Cchoisir un fichier (en haut à gauche), cliquez sur 'Envoyer' (bouton en haut à droite) pour les charger, quand ils sont chargés, 'Refermez la fenêtre' (bouton en bas au centre) puis cliquez sur 'Envoyez...' ou 'Enregistrer les changements'.
 

Pièces jointes

  • Listbox v1.xls
    148.5 KB · Affichages: 358
Dernière édition:

sword56

XLDnaute Nouveau
Re : Afficher les résultats d'une recherche dans une listbox

Merci de votre réponse aussi rapide!

Je suis désolé, je n'ai pas mis de fichier dans un premier temps car celui-ci étant pour un usage professionnel et contenant des données confidentielles je ne souhaitais pas partager les données qu'il contenait sur un forum.

Comme vous me l'avez préconisé, j'ai donc supprimé quelques données et remplacé quelques fonctions par d'autres programmées il y a quelques mois.
Je ne suis pas sûr que tout fonctionne mais la Listbox1 et la textbox8 de l'userform2 semblent fonctionner.

J'ai intégré le bout de programme présent dans le fichier que vous m'avez transmis, j'y ai effectué quelques modifications et tout semble fonctionner pour le mieux pour ce qui est de la recherche de date.
Cependant je souhaiterai que la recherche du terme entré dans ma textbox 8 se fasse sur toutes les cellules de ma plage de données, pas seulement sur la 1ère colonne.

J'ai essayé de modifier quelques lignes dans votre programme, mais sans succès. Je dois avouer qu'à ce niveau là, ça me dépasse! :p

Ci-joint une copie de travail.

Encore merci pour votre aide!

Cordialement,

Guillaume.
 

Pièces jointes

  • Copie de travail ED.zip
    180.9 KB · Affichages: 203

Paritec

XLDnaute Barbatruc
Re : Afficher les résultats d'une recherche dans une listbox

Bonjour Guillaume Mapomme:eek: mapoire:eek: le forum
bon alors c'est super le fichier, mais si tu avais pris un peu le temps de lire ce que Mapomme t'a écrit, il a aussi demandé des explications si possible claire, et toi tu n'as rien mis alors il faut faire quoi????
Tu parles de l'userform2 je suppose que c'est celui que tu souhaites traiter? mais pourquoi? ou ? Comment ? avec Qui?
là sans boule de cristal pas simple.
a+
Papou:eek:
 

sword56

XLDnaute Nouveau
Re : Afficher les résultats d'une recherche dans une listbox

Bonjour Guillaume Mapomme:eek: mapoire:eek: le forum
bon alors c'est super le fichier, mais si tu avais pris un peu le temps de lire ce que Mapomme t'a écrit, il a aussi demandé des explications si possible claire, et toi tu n'as rien mis alors il faut faire quoi????
Tu parles de l'userform2 je suppose que c'est celui que tu souhaites traiter? mais pourquoi? ou ? Comment ? avec Qui?
là sans boule de cristal pas simple.
a+
Papou:eek:

Bonjour Paritec.

Désolé, je pensais avoir été clair dans mon premier post. :)
Le fait que Mapomme me propose un fichier avec une solution presque parfaite m'a confirmé dans cette pensée.

Cepdendant, si cela ne suffit pas :

- Je souhaite effectuer une recherche sur toutes les cellules de ma feuille "clients"
- Le terme recherché est entré dans la textbox8 présente dans l'userform2
- L'affichage des résultats doit se faire dans la Listbox1 de l'userform2
- Je souhaite que toutes les lignes contenant le terme dans au moins une de leur cellule soient affichées dans cette listbox
- Je souhaite que la recherche soit dynamique : recherche à chaque fois qu'un caractère est entré dans la textbox8
- Je précise que la listbox est remplie avec l'ensemble des données à l'initialisation de l'userform2

J'espère avoir été plus clair.

Cordialement,

Guillaume.
 

Paritec

XLDnaute Barbatruc
Re : Afficher les résultats d'une recherche dans une listbox

Re Sword56 le forum
oui c'est sur tu joins le fichier et c'est à nous de retourner sur ton premier post pour trouver les explications, que tu n'as pas mis dans le fichier, cela aurait été trop facile je suppose de recopier la demande, tu as effectivement été très clair!!
a+
papou:eek:
 

sword56

XLDnaute Nouveau
Re : Afficher les résultats d'une recherche dans une listbox

Re Sword56 le forum
oui c'est sur tu joins le fichier et c'est à nous de retourner sur ton premier post pour trouver les explications, que tu n'as pas mis dans le fichier, cela aurait été trop facile je suppose de recopier la demande, tu as effectivement été très clair!!
a+
papou:eek:
Le minimum, il me semble, quand on prend part à une discussion, c'est de prendre connaissance des éléments qui ont pu être donnés avant notre arrivée.

Cela reste un point de vu personnel.
 

Paritec

XLDnaute Barbatruc
Re : Afficher les résultats d'une recherche dans une listbox

oui tu as raison c'est le minimum
tu es du style toujours raison, donc je te laisse avec ta certitude, j'avais fait la modif, mais bon je jette pas grave
a+
papou:eek:
 
Dernière édition:

sword56

XLDnaute Nouveau
Re : Afficher les résultats d'une recherche dans une listbox

oui tu as raison c'est le minimum
tu es du style toujours raison, donc je te laisse avec ta certitude, j'avais fais la modif, mais bon je jette pas grave
a+
papou:eek:
Je suis du genre à ne pas aimer les critiques non constructives et non justifiées.
Qu'on sous entende que je n'ai pas lu un post et que je n'ai fais aucun effort pour présenter mon problème alors que j'ai justement pris un peu de temps pour écrire quelque chose de, je pense, clair, non je ne l'accepte pas.

J'ai ré-écris une description plus synthétique en tenant compte de votre remarque, cela ne devait pas suffire à échapper à vos critiques. :)

Dans un forum, le premier post d'une discussion est là pour décrire le sujet qui va être traité à l'intérieur de celle-ci. Je me répète, mais le minimum avant de prendre part à cette discussion c'est de prendre connaissance du sujet qui va y être traité. C'est vrai sur un forum comme dans la vie de tous les jours.

Bonne continuation,

Guillaume
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Afficher les résultats d'une recherche dans une listbox

Bonsoir sword56, Paritec, le Forum

Je n'interviendrai pas dans ce croisement de fer ( entre Paritec et sword : je n'ai pas résisté au jeu de mot franco-anglais, pardon! :eek: )

Comme j'ai commencé à répondre, je continue. Et sans intention de retirer mon épée hors du fourreau, je dois avouer, moi aussi, que votre fichier m'a dans un premier temps laissé, comment dire, interdit. Mais comme j'avais travaillé sur le sujet contrairement à Paritec, j'ai compris qu'il s'agissait, après quelque essai, du userform2 et de textbox 'recherche'.

Sans vouloir sous-entendre quoi que ce soit, j'ai repris mon fichier (car je le connais) et modifié le code pour chercher dans toutes les cellules. A priori,vous n'aurez pas de difficultés à l'adapter au userform2. Voir fichier joint avec les modifications que j'ai indiquées dans le code.


NB: Bonsoir Paritec :)
Bonjour ... Mapomme mapoire ...
Pomme, Poire. Quelle salade de fruit ! ;) (me serais je trahi?)
 

Pièces jointes

  • Listbox v2.xls
    151.5 KB · Affichages: 440
Dernière édition:

sword56

XLDnaute Nouveau
Re : Afficher les résultats d'une recherche dans une listbox

Bonsoir Mapomme,

Je n'ai qu'une chose à dire : merci!
Cela fonctionne parfaitement et je vais enfin pouvoir passer à la construction de la partie extraction de mon fichier!

Je n'aurais jamais trouvé la solution tout seul, merci encore pour votre aide si rapide!

Pour ce qui est de mon fichier, je conçois que j'aurais pu ajouter quelques commentaire à l'intérieur du code que j'y ai laissé. Je tacherai d'y penser si je rencontre à nouveau une difficulté que je n'arrive pas à surmonter.

Bonne continuation,

Guillaume.
 

Discussions similaires

Réponses
17
Affichages
805

Statistiques des forums

Discussions
312 104
Messages
2 085 335
Membres
102 864
dernier inscrit
abderrashmaen