Microsoft Office Excel & OpenOffice.org 2++ : détecter un caractère dans une chaine
Monday, 16. June 2008, 11:08:55
Toutefois si le caractère n'est pas trouvé, il renvoie une erreur. Problème : CHERCHE est "case sensitive" (sensible à la casse).
J'ai donc préféré utiliser la fonction TROUVE. Similaire mais non sensible à la casse.
Cependant, même problème : cela renvoie une erreur si le caractère n'est pas trouvé.
Alors après un petit quart d'heure de recherche je pense avoir trouvé une formule sympathique qui génère un texte plutôt qu'une erreur.
Posons la situation :
- Cellule B4 : le caractère recherché,
- Cellule B5 : la chaine de caractère dans lequel doit s'effectuer la recherche
Dans la cellule B11, se trouve la formule.
J'utilise les fonctions suivantes : SI, ESTERR, TROUVE.
Dans la suite d'idée, j'imbrique ces différentes fonctions l'une dans l'autre, dans l'ordre donné ci-dessus. Pourquoi : je pose une condition que si une erreur est trouvé dans la recherche (via la fonction TROUVE), je renvoie un texte à défaut je calcule l'emplacement du caractère. Et c'est tout.
voila l'idée que je veux.
Voila donc la formule renvoyant le bon résultat :
=SI(B4="";"0";SI(SI(ESTERR(TROUVE(B4;B5))=VRAI;"Not Find";"Find")="Find";TROUVE(B4;B5);0))
Pour vous éviter de chercher...



Anonymous # 30. July 2008, 22:52
j'aurait imbriqué encore plus :
=SI(B4="";"0";SI(ESTERR(TROUVE(B4;B5))=VRAI;"Not Find";TROUVE(B4;B5))
Groumphy # 4. August 2008, 14:49
Là je ne vois pas en quoi cela change tant que cela...
Merci