Combinaison fonctions Cherche et ou

Résolu
Bonjour, je cherche la formule pour dire que si dans la cellule C j'ai "Schéma" ou "Etudes", alors le résultat est 7063000.
La formule si dessous me retourne 0 alors que dans la cellule C J'ai "Schéma".
C'est un pb avec le OU mais je ne trouve pas.

C D
Schéma =SI(ESTNUM(CHERCHE(OU("Schéma";"Etudes");C136;1));"70603000";0)

Merci de votre aide.
Bonne journée

6 réponses

  1. Bonjour,
    Dans la formule =SI(ESTNUM(CHERCHE(OU("Schéma";"Etudes");C136;1));"70603000";0)
    il faudrait déplacer la fontion OU
    =SI(OU(ESTNUM(CHERCHE("Etudes";A14;1));ESTNUM(CHERCHE("Schéma";A14;1)));"70603000";0)
    Si la table de correspondance n'est pas trop étendue on peut imbriquer des SI
    =SI(OU(ESTNUM(CHERCHE("Etudes";A14;1));ESTNUM(CHERCHE("Schéma";A14;1)));"70603000";SI(ESTNUM(CHERCHE("SAV";A14;1));"70605";0))
    Ajouter les autres cas comme le SAV.

    On peut aussi utiliser les références de la table:
    =SI(OU(ESTNUM(CHERCHE($F$5;A14;1));ESTNUM(CHERCHE($F$4;A14;1)));$G$4;SI(ESTNUM(CHERCHE($F$7;A14;1));$G$7;0))
    en ajoutant aussi les autres cas.
    1
    1. Bravo et merci tontong. Apparemment cela marche très bien.
      Merci pour votre aide et à tous ceux qui ont participé!

      Bon WE à tous
      0
  2. Bonjour Pijed

    Essayer ceci

    =SI(OU(SIERREUR(TROUVE("schéma";A1;1);0)>0;SIERREUR(TROUVE("Etudes";A1;1);0)>0);"70603000";0)
    0
    1. Bonjour et merci pour votre intervention rapide.
      Votre formule me donne encore 0
      Avez-vous une autre idée?
      Merci d'avance
      0
    2. @pijedessayer avec cherche

      =SI(OU(SIERREUR(CHERCHE("*schéma*";A1;1);0)>0;SIERREUR(CHERCHE("*Etudes*";A1;1);0)>0);"70603000";0)
      0
  3. bonjour à tout les deux

    pourquoi pas simplement =si(ou(c136="schema";c136="etudes");"70603000";"")
    ?
    0
    1. Bonjour Fabien25000

      vu la question on suppose que la cellule ne contient pas que les mots schéma et etudes

      Pour Pijed que contient votre cellule ?
      0
    2. Bonjour,

      la formule fonctionne effectivement mais en fait je cherche :
      si la cellule C contient le mot "Eudes" ou "Schéma" sans respect de la casse et quelle que soit la place du mot dans la cellule le résultat soit "706030000".

      Merci pour votre aide
      0
    3. pour l'emplacement dans la case (je suppose dans une phrase il faut ecrire "*schema*" ou "*etude*" mais je ne suis pas sur que cela fonctionne pour la casse... le mieux serai d'etre rigoureux sur l'ecriture de ces 2 mots?
      0
    4. @fabien25000Le résultat est toujours 0 au lieu de 706030000.
      Auriez-vous une autre idée?

      Je vous remercie
      0
    5. Pouvez vous nous transmettre un exemple de fichier via cjoint.com pour mieux comprendre?
      0
  4. Contributeur
    Bonjour
    Pourquoi le fonction cherche ?
    peut-^tre +simple

    =(NB.SI(C6;"schéma")+NB.SI(C6;"Etudes")>0)*706030000

    en supposant que 706030000 est bien un nombre et non du texte et que la cellule ne contient qu'un de ces 2 termes et rien d'autre

    si le mot est accompagné d'autres mots dans la cellule
    =(NB.SI(C6;"*"&"schéma"&"*")+NB.SI(C6;"*"&"Etudes"&"*")>0)*706030000

     Michel
    0
    1. https://www.cjoint.com/c/FKsrXXRuJuu

      Voici le lien. En fait, compte tenu des différents cas que j'ai à traiter, j'aimerais que si les éléments de la 1 ere colonne de ma liste des activités contient un mot de la table de correspondance, le compte associé soit noté dans la liste des activités en tant que compte à utiliser.
      J'ai mis les 2 formules qui m'ont été proposées mais cela n'est pas satisfaisant car l'une donne 0 et l'autre ne me permettra pas de gérer d'autres comptes.

      Avez vous une autre idée?
      Je vous remercie
      0
    2. Contributeur
      @pijedET SI TU DONNAIS UN EXPOSE CORRECT DE TON PROBLEME?
      TON CLASSEUR NE CORRESPÖND PAS A TA DEMANDE !!!

      N'IMPORTE QUOI :-(((
      0
  5. Bonsoir,

    Dans quelle cellule vous écrivez *shéma* objet de la condition
    0
    1. https://www.cjoint.com/c/FKtj6e2I62u

      Bonjour,

      j'ai modifié un peu mes tableaux et j'ai mis le tableau que je souhaitais obtenir en fonction de la table de correspondance existante.
      Michel se fâche mais ce n'est pas l'objectif. Je regrette de ne pas être plus autonome en excel mais, c'est en forgeant que l'on devient forgeron pour faire des merveilles. Merci à ceux qui ont un peu de patience pour leur aide :)
      0
    2. Contributeur
      @pijedIl faut bien te rendre compte que ce que tu demandes n'est pas forcément facile et que personne ne veut passer parfois plusieurs heures à essayer de résoudre un problème bénévolement pour se voir dire après coup « non vous n'avez pas compris mon problème (rarement, je n'ai pas bien expliqué, excusez moi) il faudrait que.... »
      0
  6. Bonjour,

    je suis parti sur =RECHERCHEV(GAUCHE(A16;3)&"*";F3:G9;2;FAUX)&"000"

    ca fonctionne partiellement, je n'arrive pas trop à comprendre pourquoi ca ne fonctionne pas partout mais peut etre une piste à creuser?
    0
    1. haha j'avais pas verrouillé ma matrice!!

      =RECHERCHEV(GAUCHE(A16;3)&"*";$F$3:$G$9;2;FAUX)&"000"

      fonctionne parfaitement!

      par contre il faut changer la case contrat de maintenance par "maintenance (contrat)" par exemple
      0
    2. On s'approche très certainement mais, j'aimerais avoir la solution pour ne pas dépendre de la place du mot dans la liste des activités mais, cela n'est peut-être pas possible avec excel.
      En tous cas merci beaucoup
      0
    3. pas de souci Michel, merci pour votre aide, je suis bien en première ligne pour voir que ce qui parait simple est compliqué. Si cela est trop compliqué, tant pis. L'objet n'est pas de stresser qui que ce soit.

      Je vous remercie
      0