Skip navigation.

exploreopera

| Help

Sign up | Help

photo

Groumphy au quotidien

Microsoft Office Excel & OpenOffice.org 2++ : détecter un caractère dans une chaine

, , , , , , , , , , , , ,

Il est assez facile de trouver dans une cellule un caractère via la fonction CHERCHE.
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... :wink:

AutoIt : changer l'adresse IPMS-DOS : créer une pause d’exécution

Comments

avatar
LePirlouit writes:

j'aurait imbriqué encore plus :


=SI(B4="";"0";SI(ESTERR(TROUVE(B4;B5))=VRAI;"Not Find";TROUVE(B4;B5))

By anonymous user, # 30. July 2008, 22:52:20

avatar
Pourrais-tu m'expliquer le changement ?
Là je ne vois pas en quoi cela change tant que cela...

Merci :D :smile: :wink:

By Groumphy, # 4. August 2008, 14:49:00

Write a comment

Comment
(BBcode and HTML is turned off for anonymous user comments.)

Please type this security code : 0d4d19

Smilies

October 2008
MTWTFSS
September 2008November 2008
12345
6789101112
13141516171819
20212223242526
2728293031