Opérateurs Like & InStr [Résolu]

Signaler
Messages postés
19
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 avril 2019
-
Messages postés
14916
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
25 octobre 2020
-
Bonjour,

Je souhaite savoir si il est possible (je n'ai pas trouver la combinaison.../) avec l'opérateur Like de chercher un mot dans une suite de caractère avec les conditions suivantes :
1.Je ne souhaite pas avoir l'info si ce mot est contenu ds un autre => si je cherche le mot Nice, je ne veux pas que l'opérateur soit true avec Berenice
2. Je ne connais pas le nombre de caractères dans les expression ds lesquels je dois chercher le mot
3. je ne connais pas sa position dans l'expression

J'ai fait les mêmes essaie avec l'opérateur InStr.
mon problème est toujours que si j'ai Berenice, avec Nice recherché, l'opérateur est true...

En existe-t-il un autre pour répondre à mon problème...?
Merci de votre aide,

7 réponses

Messages postés
1
Date d'inscription
jeudi 21 février 2019
Statut
Membre
Dernière intervention
3 avril 2019

Bonjour

Je n'ai pas testé, mais dans ton like essayes "* lemot *" en fait un intégrant un espace entre l'astérisque et le mot avant et après.

Pas testé.

Philippe
Messages postés
19
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 avril 2019

Ah pétart .... bien vu !
Je vais essayé ey je te dis. Mais ça sent la solution possible !
Merciiiii Philippe !
Messages postés
19
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 avril 2019

Bon, j'y ai cru.... ça ne fonctionne pas...:/
Messages postés
14916
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
25 octobre 2020
447
Bonjour, en fait il faut mettre tous les délimiteurs de mots, l'espaces, toute la ponctuation, le début de texte, le fin de texte, le retour à la ligne etc...
Avec les outils vba ça se complique assez vite.

Il existe un outils universel -> l'expression régulière (regex), qui existe en vba et possède une syntaxe (pattern) pour trouver un mot
\bnice\b
en l'état ça cherche nice en minuscule, mais on peut mette l'option IgnoreCase.

Un petit tuto
https://www.commentcamarche.net/faq/41005-vba-initiation-aux-expressions-rationnelles

Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Messages postés
19
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 avril 2019

Ah ben si...
Heuuuu...je donne des news si pb !
Merci encore !
Messages postés
19
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 avril 2019

Merci Whismeril de ton apport. Et excuse moi du délai, j'ai eu un gros pb de genou entre les deux...
Ds ton tuto, si j'ai bien compris, on est plutôt ds le cas ou je maîtrise un peu le placement du mot ds la phrase et sa casse. Ce qui n'est pas mon cas.
Pour l'instant je pallie à mon problème en mettant des "_" avant et après les "petits" mots à chercher et pouvant alors se trouver ds d'autres (Nice et Bérénice ds mon exemple). Et c'est gérable comme ça. Sinon, dans ma variable de ma chaîne de caractères à chercher, je mets le maximum de caractères qui se répéteront ds ma source et je n'ai alors plus de problème...

Merci à tous pour vos apports !

Messages postés
14916
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
25 octobre 2020
447
de rien