Recherche de plusieurs texte dans une plage

Fermé
Vassef Messages postés 2 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 26 octobre 2011 - 26 oct. 2011 à 12:14
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 26 oct. 2011 à 14:39
Bonjour,

Dans un fichier Excel, je cherche à savoir si dans une plage de cellule se trouve une valeur dans une liste :
Col A..........................Col B.............Col C
Alpha CVP-52043.......51/53
Branson ultrasonics....36/38...........67
CNP Omnix 338T..........20...............20/22

Ici je cherche à savoir si une des chaines de texte suivantes : 35 ou 39 ou 41 ou ... ce trouve dans la plage B1:C3
Sachant que pour ce faire, j'utilise pour le moment une série de SI inclus les uns dans les autres et que cela me fait une fonction à ralonge :=SI(SI(ESTERR(TROUVE(35;CONCATENER(F6;"/";G6;"/";H6;"/";I6;"/";J6;"/";K6;"/";L6)));SI(ESTERR(TROUVE(39;CONCATENER(F6;"/";G6;"/";H6;"/";I6;"/";J6;"/";K6;"/";L6)));SI(ESTERR(TROUVE(41;CONCATENER(F6;"/";G6;"/";H6;"/";I6;"/";J6;"/";K6;"/";L6)));SI(ESTERR(TROUVE(45;CONCATENER(F6;"/";G6;"/";H6;"/";I6;"/";J6;"/";K6;"/";L6)));SI(ESTERR(TROUVE(46;CONCATENER(F6;"/";G6;"/";H6;"/";I6;"/";J6;"/";K6;"/";L6)));SI(ESTERR(TROUVE(48;CONCATENER(F6;"/";G6;"/";H6;"/";I6;"/";J6;"/";K6;"/";L6)));SI(ESTERR(TROUVE(49;CONCATENER(F6;"/";G6;"/";H6;"/";I6;"/";J6;"/";K6;"/";L6)));SI(ESTERR(TROUVE(60;CONCATENER(F6;"/";G6;"/";H6;"/";I6;"/";J6;"/";K6;"/";L6)));ESTERR(TROUVE(61;CONCATENER(F6;"/";G6;"/";H6;"/";I6;"/";J6;"/";K6;"/";L6)));))))))))=FAUX;VRAI;FAUX)

Si vous trouvez plus simple, je suis preneur !

2 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 414
26 oct. 2011 à 12:33
Bonjour
pas tout compris dans votre formule:
je propose:
=SI(NB.SI(B1:C3;"*chaine*")>0...
crdlmnt
ou si le texte à trouver est dans une cellule:
=SI(NB.SI(B1:C3;"*"&adresse cell&"*")>0.....

crdlmnt
0
Vassef Messages postés 2 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 26 octobre 2011
Modifié par Vassef le 26/10/2011 à 13:06
Merci, cela fonctionne bien à 1 point près : si je cherche la chaîne suivante "36" et que cette chaine est toute seule dans la cellule (valeur de la cellule = "36") ce n'est pas pris en compte.

Donc je dois faire OU(NB.SI(B1:C3;"*36*")>0;NB.SI(B1:C3;"36")>0)

Merci cela simplifie tout de même grandement ma formule.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 414
Modifié par Vaucluse le 26/10/2011 à 15:37
re
le problème vient du fait que 36 est un nombre alors que "*36*" est un texte
il faut donc bien construire la formule comme vous le proposez, sauf que les guillemets dans le second 36 sont inutiles.
bonne route
crdlmnt
0