Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recherche intuitive par plusieurs mots

7 réponses
Avatar
Apitos
Bonjour =E0 tous,

J'aimerais effectuer une recherche par plusieurs mots dans une ComboBox.

Dans l'exemple joint, si j'essaye d'=E9crire " marron " =E7a donne bien une=
liste mais d=E9s que j'ajoute le mot " tube ", les mots recherch=E9s seron=
t " marron tube " et la liste deviendra vide pourtant il y a bien un articl=
e nomm=E9 " Chaise tube chrom=E9 et ska=EF marron " !!!

Que manque-t-il ?

http://www.cjoint.com/c/ELlqIMUGw06

Merci d'avance.

7 réponses

Avatar
MichD
Bonjour,

Fichier exemple : http://www.cjoint.com/c/ELluHXlSNlG
Avatar
elatlasclub
Bonjour MichD,

Apres test sur l'exemple fournit, j'ai remarqué que la recherche ne se fa it pas au fur et à mesure de la saisie ?

Il faut actionner le bouton "Afficher tout" pour que ça démarre !

Et puis, si je saisi "marron tube", aucun résultat ne sera obtenu.

Et si je sélectionne une ligne du deuxième ComboBox, un message d'erreu r s'affiche :

Erreur d'exécution '5':

Argument ou appel de procédure incorrect

sur la ligne :

'-------------------
Private Sub ChoixArticle_Change()
If Me.ChoixArticle.ListIndex = -1 And IsError(Application.Match(Me.Ch oixArticle, choix1, 0)) Then
'--------------------
Avatar
MichD
| Apres test sur l'exemple fournit, j'ai remarqué que la recherche ne se fait pas au fur et à mesure
de la saisie ?

**** Dans le formulaire, au lieu d'utiliser cet événement Private Sub TextBox4_AfterUpdate(), prend
celui-ci
Private Sub TextBox4_Change()

| Il faut actionner le bouton "Afficher tout" pour que ça démarre !

**** Non, dès que tu ouvres le formulaire, le combobox du haut est déjà rempli!
Cependant, tu dois taper dans le textbox "recherche" pour mettre à jour le combobox si des
éléments
correspondent au critère

| Et puis, si je saisi "marron tube", aucun résultat ne sera obtenu.

**** Tu dois saisir les mots dans l'ordre de présentation de tes données sinon...
Si tu y tiens, tu peux modifier l'ordre, mais il faudra que tu exécutes autant de fois
une requête pour chaque combinaison des mots. Ce que tu demandes n'existe pas
autrement.

| Et si je sélectionne une ligne du deuxième ComboBox, un message d'erreur s'affiche :

**** Je t'ai fait un exemple, je ne vais pas écrire le code pour toute l'application!
Je ne me suis pas occupé du combobox2, mais je suppose que le code doit être adapté.

**** Le fichier se veut un exemple et non un produit fini. À toi de jouer !
Avatar
MichD
Un fichier exemple où tu peux utiliser jusqu'à 4 mots distincts dans l'ordre que tu désires
dans le textbox4 "Recherche" pour remplir dès qu'une lettre est saisie, les 2 combobox
du formulaire.

http://www.cjoint.com/c/ELmoiIkCAfG

Je pense que tu as ce que tu as demandé et tu peux t'amuser à l'adapter à tes besoins.
Avatar
MichD
Dans la procédure d'ouverture du formulaire, j'avais oublié de remplir le deuxième combobox.

http://www.cjoint.com/c/ELmpfAFR2UG
Avatar
MichD
Une petite amélioration pour ceux qui essaieraient de taper plus de 4 mots.

Un mot peut avoir plusieurs lettres ou seulement une lettre...

http://www.cjoint.com/c/ELmrJLmPSdG
Avatar
Apitos
Bonsoir MichD,

Merci pour tes précieuses corrections.

Je tacherais à faire des essais.