Recherche de plusieurs texte dans une plage

Vassef Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  2. Vassef Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
     
    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
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      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