recherche de plusieurs mots dans une chaine de caracteres

meliokan

XLDnaute Nouveau
Bonjour à tous, je suis confronté à un problème que je n'arrive pas à résoudre:
Pour la présence d'un mot à l'intérieur d'une chaine, c'est bon, j'ai compris le truc, mais si par exemple je veux savoir si deux mots ou plus sont présent dans une cellule, là, je bug !

par exemple, dans la colonne A, j'ai la liste ci-dessous:

petit clou vert
petit clou jaune
petit clou bleu
moyen clou vert
moyen clou jaune
moyen clou bleu
grand clou vert
grand clou jaune
grand clou bleu
petite vis
moyenne vis
grande vis
petit tournevis vert
petit tournevis jaune
petit tournevis bleu
moyen tournevis vert
moyen tournevis jaune
moyen tournevis bleu
grand tournevis vert
grand tournevis jaune
grand tournevis bleu


Comment puis-je faire (en excel ou en vba) pour que, dans une celulle de validation, si je tape "clou bleu", il m'affiche dans sa liste :

petit clou bleu
moyen clou bleu
grand clou bleu

De même, si je demande "vis grand", il me retourne:

grande vis
grand tournevis vert
grand tournevis jaune
grand tournevis bleu


La je seche.....

Merci pour vos réponses.

mel
 

MJ13

XLDnaute Barbatruc
Re : recherche de plusieurs mots dans une chaine de caracteres

Bonjour

Déjà avant de trouver une solution en VBA ou en formule, tu peux déjà utilser les filtres et voir le texte que tu dois rentrer avec les caractères joker par exemple pour trouver la bonne liste (attention c'est pas si simple en général).

Ensuite, tu enregistres dans une macro pour voir le code généré.

Enfin tu reviens avec un petit fichier avec tes données et comment tu veux saisir ta recherche ainsi que le résultat souhaité (car il y a tellement de possibilités).
 

meliokan

XLDnaute Nouveau
Re : recherche de plusieurs mots dans une chaine de caracteres

Merci MJ13 d'avoir répondu aussi vite.

J'ai déjà essayé de faire un filtre elaboré en sélectionnant ma plage et la zone de critère.

Pour avoir plusieurs critères en série, j'ai cru lire qu'il fallait disposer cette zone en ligne.... ce que j'ai fait.

Mais ca ne fontionne pas :(, j'ai du oublié quelque chose :confused:.

a+
 

Catrice

XLDnaute Barbatruc
Re : recherche de plusieurs mots dans une chaine de caracteres

Bonsoir,

Il faut mettre des "*"
Teste le fichier joint qui utilise les filtres elaborés.
 

Pièces jointes

  • Classeur1.xls
    27 KB · Affichages: 291
  • Classeur1.xls
    27 KB · Affichages: 276
  • Classeur1.xls
    27 KB · Affichages: 297
Dernière édition:

hoerwind

XLDnaute Barbatruc
Re : recherche de plusieurs mots dans une chaine de caracteres

Bonjour à vous tous,

Les solutions proposées par Catrice et kjin rencontre le même problème que celui sur lequel j'avais buté.

Si dans la liste il y a "vis verte" et "tournevis vert", en cherchant "vis vert" les deux macros renvoient les deux chaines de caractères.

Une solution serait peut-être d'ajouter des espaces devant et derrière les mots cherchés, ainsi que devant et derrière les chaines de caractères de la plage des noms.

Par formule cela semble fonctionner, mais il faut passer par une colonne intermédiaire.
 

Pièces jointes

  • ChercheMotsDansChaines.zip
    3.7 KB · Affichages: 163

meliokan

XLDnaute Nouveau
Re : recherche de plusieurs mots dans une chaine de caracteres

j'ai tenté d'intégrer ce code dans un combobox, cela fonctionne sauf si je rentre les premiers caractere de la liste, là, ca ne va plus, exemple:

je rentre "clo bl", il m'affiche bien:
petit clou bleu , moyen....

mais si je commence par "petit", la il me met une erreur.
 

Pièces jointes

  • listecombo.xls
    26 KB · Affichages: 107

kjin

XLDnaute Barbatruc
Re : recherche de plusieurs mots dans une chaine de caracteres

Bonjour hoerwind,
Les solutions proposées par Catrice et kjin rencontre le même problème que celui sur lequel j'avais buté.
Si dans la liste il y a "vis verte" et "tournevis vert", en cherchant "vis vert" les deux macros renvoient les deux chaines de caractères.

De même, si je demande "vis grand", il me retourne:
grande vis
grand tournevis vert
grand tournevis jaune
grand tournevis bleu
Ca semble correspondre à la demande de meliokan
A+
kjin
 

meliokan

XLDnaute Nouveau
Re : recherche de plusieurs mots dans une chaine de caracteres

oui kjin, ca fonctionne sauf quand tu tapes la selection complete:

si je demande "petite vis", il me retourne une erreur 1004 !

l'aide dit que:"certaines méthodes d'objets Range nécessitent une plage qui contient des données. Si la plage ne contient pas de données, la méthode échoue. "

pourtant quand je sélectionne une donnée listée, cette donnée devrait s'affichée dans la cellule de la combobox sans me faire une erreur puisque qu'elle existe dans la liste :confused: comprend pas...
 

kjin

XLDnaute Barbatruc
Re : recherche de plusieurs mots dans une chaine de caracteres

Re,
Il faut bien réinitialiser la combo pour pouvoir la recharger avec les nouvelles valeurs et dans ce cas comment comptes tu sélectionner un item de la liste si elle est vide ?!
A+
kjin
 

Pièces jointes

  • meliokan-2.xls
    26 KB · Affichages: 155

Discussions similaires

Statistiques des forums

Discussions
312 953
Messages
2 093 890
Membres
105 862
dernier inscrit
Njaka tina