Formule Excel à modifier. Contrôler les "OU"

Résolu
BILLING Messages postés 162 Date d'inscription   Statut Membre Dernière intervention   -  
via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai la formule suivante qui semblait fonctionner jsuqu'à ce que je me rende compte d'une lacune. J'aimerais modifier:

=SI(OU($R3="WKBGE";$R3="DRDGE");"";SI(DROITE($R3;2)="DG";SI(ET(NON(ESTERREUR(TROUVE(GAUCHE($T3;2);"CAUS")));OU(GAUCHE($W3;2)=GAUCHE($T3;2);ET(DROITE($T3;4)<"7000";DROITE($W3;4)<"7000";NON(ESTERREUR(TROUVE(GAUCHE($W3;2);"CAUS"))))));"";"Erreur");SI(DROITE($R3;2)="GE";SI(ET(NON(ESTERREUR(TROUVE(GAUCHE($T3;2);"CAUS")));OU(GAUCHE($W3;2)=GAUCHE($T3;2);ET(GAUCHE($W3;2)<>GAUCHE($T3;2);DROITE($T3;4)<"7000";DROITE($W3;4)<"7000";NON(ESTERREUR(TROUVE(GAUCHE($W3;2);"CAUS"))))));"Erreur";"");"")))

Telle quelle, cette formule retourne "CA", "AU" ou "US" comme étant vrai. Mais ce n'est pas le résultat désiré. Seul "CA" et "US" peuvent être vrai. "AU" se retrouve comme 2 premières lettres des données en T ou en W mais ne doivent pas être considérées comme VRAI.

Comment dois-je modifier cette formule pour ne pas inclure "AU" ?

J'ai joint un fichier échantillon : https://www.cjoint.com/?3BnnVG08t61

N'hésitez pas à me contacter si vous avez besoin de plus d'info.

Merci :-)



--
eLise

2 réponses

  1. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour,

    Comme je comprends ta formule cherche si les 2 premieres letres se retrouvent dans le texte CAUS c'est donc normal que US soit trouvé
    Remplacer tous les CAUS par CA-US devrait régler le problème

    A tester et me dire

    Cdlmnt
    0
  2. BILLING Messages postés 162 Date d'inscription   Statut Membre Dernière intervention   48
     
    Bonjour via55,

    Ça semble fonctionner. Merci.

    C'est drôle j'aurais cru que le '-' serait considéré comme un caractère à trouver avec le CA et US. Peux-tu m'expliquer svp?
    0
    1. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Re

      oui le - est considéré comme un caractère et c'est justement ce qui permet de régler ton probleme
      la formule cherchait si la chaine formée des2 premiers caractères d'un code est contenue dans CAUS , les combinaisons bonnes possibles étaient donc CA (2 prem de CAUS) AU (2 du mileu) et US (2 dernières) ce qui validait AU
      Avec CA-US les bonnes combinaisons possibles sont CA, A-, -U et US, ce qui exclu donc AU

      NB La recherche avec TROUVE est un peu lourde : SI(OU(GAUCHE(code;2)="CA";GAUCHE(code;2)="US")) aurait suffit pour vérifier si on trouvait US ou CA !

      Bonne suite
      0