Recherche de caractères ds cellule "CHERCHE("

Résolu/Fermé
arscy - 23 juil. 2018 à 14:20
 arscy - 24 juil. 2018 à 15:06
Salut les bronzeurs du Web !

Je suis face à un dilemme actuellement avec la formule CHERCHE
En effet, je me suis dit que ce serait la meilleure formule à utiliser pour ce que je souhaite faire, mais le revers de la médaille étant que si la recherche est infructueuse, j'ai droit à l'erreur "#VALEUR !" , auquel cas toute ma formule tombe à l'eau...

Initialement, je souhaite afficher le contenu d'une cellule lambda à un autre endroit d'un fichier calc open office (une autre page par exemple), si et seulement si des termes spécifiques s'y trouvent. Je souhaite pouvoir utiliser ceci comme modèle pour l'utilisation de fichiers.
J'ai deux mots dans ma cellule. Le premier mot varie toujours, le 2e mot a 2 possibilités.
Je veux afficher le contenu de la cellule [entière] ailleurs uniquement si le 2e mot correspond à un terme précis.

Donc je fais une formule qui ne recherche que le 2e mot... Evidemment, comme j'aime me compliquer la vie, je n'écris pas toujours ce mot de la même façon, j'en propose 3 variantes, qu'on pourrait réduire à 2 si je fais une recherche de caractères (que je peux faire): une variante alphabétique, une autre avec un symbole (de type mathématique).
De ce fait je me retrouve en difficulté, parce que si j'écris mon 2e mot d'une façon, je ne l'écris pas d'une autre (merci Cpt Obvious), et du coup je ne peux pas me servir d'une formule du type "OU" qui intègre la formule CHERCHE, parce que si la recherche échoue ce sera considéré comme une erreur... Donc même avec le bon élément dans le lot, c'est l'erreur qui sera mise en avant.
Voici le raisonnement pour lequel j'avais opté à la base: en plus Open-Office-ien:

SI((OU((CHERCHE(2e mot première écriture; cellule_concernée)>0)=1) ;(CHERCHE(2e mot 2e écriture; plage_de_données)>0)=1) ; (CHERCHE(2e mot 3e écriture; plage_de_données)>0)=1))=1 ; cellule_concernée; "")

je crois que mes 3 premiers "=1" sont excessifs à la base, mais surtout... cette formule ne fonctionne pas à cause des 2/3 des messages d'erreur qui vont tout invalider
Auriez-vous des pistes pour me permettre de contourner ce problème?

Merci d'avance

Arscy
A voir également:

1 réponse

tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 1 054
Modifié le 23 juil. 2018 à 16:04
Bonjour,
Pour faire l'équivalent d'un OU dans la fonction Cherche essayez d'utiliser les Expressions régulières.
=CHERCHE(" (riri|fifi)? .";A1;1) renvoie la position de" riri "ou " fifi " dans A1( attention aux espaces!)

Pour contourner #valeur utilisez un Si(EstErreur....).
=SI(ESTERREUR(CHERCHE(" (riri|fifi)? .";A1;1));"";A1)
Bon courage.

NB: Pour que Calc accepte les expressions régulières dans les formules : >> menu Outils->Options->OOoCalc->Calculs coche Autoriser les caractères génériques dans les formules.
0
Ça c'est une solution!
En revanche j'ai passé 2 petites minutes à chercher des erreurs dans ma formule: en fait ça ne fonctionnait que si j'éliminais tous les espaces...
Merci beaucoup tontong pour tes lumières!
0