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
 

hoerwind

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

Salut kjin,

La question est bien :
je veux savoir si deux mots ou plus sont présents dans une cellule

et non :
je veux savoir si deux parties de mots ou plus sont présents dans une cellule

Si on cherche le mot "correct" le mot "incorrect" sera aussi renvoyé, ce qui n'est pas le but me semble-t-il.
 

meliokan

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

Salut kjin,

La question est bien :
je veux savoir si deux mots ou plus sont présents dans une cellule

et non :
je veux savoir si deux parties de mots ou plus sont présents dans une cellule

Si on cherche le mot "correct" le mot "incorrect" sera aussi renvoyé, ce qui n'est pas le but me semble-t-il.

Salut hoerwind

Si, le but est bien de savoir si deux parties de mots ou plus sont présents dans une cellule.
 

meliokan

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

ca y est ca fonctionne :)

J'ai remplacé textbox1 par combobox1, et enlevé le 'combobox1.clear' de la fin.

merci beaucoup kjin, ainsi qu'aux autres.

a+
 

Pièces jointes

  • recherche chaine.xls
    19.5 KB · Affichages: 91
  • recherche chaine.xls
    19.5 KB · Affichages: 61
  • recherche chaine.xls
    19.5 KB · Affichages: 71
Dernière édition:

meliokan

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

Oops, désolé :D

re voici le lien, avec le code.

Private Sub ComboBox1_Change()
Dim T, L() As String
T = Split(ComboBox1.Text, " ")
j = 1
For Each cel In Range("A1:A20")
For i = 0 To UBound(T)
If cel Like "*" & T(i) & "*" Then
compteur = compteur + 1
End If
Next
If compteur = UBound(T) + 1 Then
ReDim Preserve L(1 To j)
L(j) = cel
j = j + 1
End If
compteur = 0
Next
'ComboBox1.Clear
On Error Resume Next
If Not IsEmpty(UBound(L)) Then ComboBox1.List = L
End Sub


Donc ca fonctionne mais j'ai du mettre un ' devant combobox1.clear car quand je selectionne une donnée, la celulle de la combo s'effaçait automatiquement.

maintenant, la celulle de la combo ne s'efface plus lorsque je sélectionne une donnée, mais si je tape "cloo", il devrait me retourner une liste vide puisqu'il n'y a aucun texte qui correspond à "cloo", et c'est pas le cas.

Finalement, je me suis un peu trop emballé en disant que ça fonctionnait, enfin si ça marche, mais........je suis p'tet un peu trop pointilleux :rolleyes:
 

Pièces jointes

  • recherche chaine.xls
    33.5 KB · Affichages: 49
  • recherche chaine.xls
    33.5 KB · Affichages: 54
  • recherche chaine.xls
    33.5 KB · Affichages: 49

kjin

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

Bonsoir,
Donc ca fonctionne mais j'ai du mettre un ' devant combobox1.clear car quand je selectionne une donnée, la celulle de la combo s'effaçait automatiquement...
maintenant, la celulle de la combo ne s'efface plus lorsque je sélectionne une donnée, mais si je tape "cloo", il devrait me retourner une liste vide puisqu'il n'y a aucun texte qui correspond à "cloo", et c'est pas le cas...
C'est bien là le pb et c'est ce que je t'ai précisé plus haut.
Entre le beurre et l'argent du beurre, moi je préfère... la crémière
A+
kjin
 

Discussions similaires

Statistiques des forums

Discussions
312 839
Messages
2 092 678
Membres
105 508
dernier inscrit
Albator