Je veux bien développer, mais là, ça devient payant !!!!
=SI(OU(GAUCHE(B2;NBCAR($A$2)+1)=$A$2&" ";DROITE(B2;NBCAR($A$2)+1)=" "&$A$2;NON(ESTERREUR(CHERCHE(" "&$A$2&" ";B2;1))));1;0)
La problématique :
Retrouvez un mot EXACT dans une phrase.
Le mot est exact, s'il n'y a, ni à droite, ni à gauche de lettre qui le touche.
3 hypothèses :
Le mot se trouve à gauche de la phrase
=GAUCHE(B2;NBCAR($A$2)+1=$A$2&" ")
Je récupère la partie gauche de la phrase sur x caractères
x correspondant à la longueur du mot recherché +1
+1, pour y ajouter un éventuel autre caractères qui n'en ferait pas le mot exact
Je test si ce que j'ai récupéré à gauche est exact au mot cherché auquel j'ajoute un espace
Le mot se trouve à droite de la phrase
=DROITE(B2;NBCAR($A$2)+1)=" "&$A$2)
Idem que Gauche, mais pour la droite et donc l'espace, je le mets avant le mot cherché
Le mot se trouve ailleurs dans la phrase
=CHERCHE(" "&$A$2&" ";B2;1)
Je cherche le mot dans la phrase avec un espace devant et un espace derrière, bien sur, je cherche à partir de la première position de la phrase.
ESTERREUR(CHERCHE(" "&$A$2&" ";B2;1))
Je récupère VRAI ou FAUX, si ma recherche est en erreur #VALEUR, en erreur si le mot n'existe pas.
Si c'est FAUX, c'est que le mot existe bien dans ma phrase
NON(ESTERREUR(CHERCHE(" "&$A$2&" ";B2;1)))
J'inverse donc la logique, ce qui était FAUX devient VRAI et ce qui était VRAI devient FAUX.
Pour finir j'analyse mes résultat, pour que le mot soit présent, je dois avoir VRAI, soit à Gauche, soit à Droite, soit Ailleurs, donc si OU retourne VRAI (Une seule condition suffit pour faire VRAI), j'affiche 1, sinon 0.