Formules imbriquées =SI($baseX2=0;"";SI(DROITE($A2

Résolu
Bonjour à tous,

Je dois comparer des montants facturés de la colonne W et X de l'onglet "base" libellé "Montant traction aller" "Montant Traction Retour "

Fichier sur lien Cjoint

https://www.cjoint.com/c/HHjpiz8epV3

Je reporte ce montant dans l'onglet "base contôle" je suis obligé de tout disséqué j'arrive pas à simplifier sur une seule colonne

J'aimerai et j'y ai passé des heures, je sèche...

=SI($baseX2=0;"";SI(DROITE($A2;1)="R";on apllique le cout de la colonne C de l'onglet "tables" et on multiplie par le poids brut de la colonne D de l'onglet "base controle" selon le derpatement "colonne B" de l'onglet "base contrôle" retrouvé dans l'onglet " tables" colonne A OU SI($baseW2=0;"";SI(DROITE($A2;1)="L" OU "D" ;on apllique le cout de la colonne B de l'onglet "tables" et on multiplie par le poids brut de la colonne D de l'onglet "base controle" selon le derpatement "colonne B" de l'onglet "base contrôle" retrouvé dans l'onglet " tables" colonne A

Merci par avance pour votre aide en espérant avoir été claire

2 réponses

  1. Contributeur
    Bonjour
    un exemple ici de ce qu'il est possible de faire (si j'ai bien compris???) en colonne E sans les colonnes A,B,C,D
    je ne me suis pas occupé des autres colonnes, c'était juste pour l'exemple et bien sur la suppression des valeurs en A B C D casse le reste du tableau (qui devrait pouvoir se traiter de la même façon)
    revenez si ça ne convient pas, mais dites nous pourquoi
    à vous lire
    crdlmnt
    0
    1. Contributeur
      ... excuses, j'ai oublié le fichier!
      https://mon-partage.fr/f/uKPvLiID/
      0
  2. Bonsoir,

    Je ne sais pas si j'ai bien tout compris
    J'ai nommé la plage A2:C97 de l'onglet tables "Coût_Dpmnt" et aussi reformaté les cellule de la colonne A "0#" de ce même onglet pour avoir 2 chiffres.

    J'ai installé cette formule qui semble fonctionner (à vérifier sur toute la feuille)

    =SI(base!X2=0;"";SI(GAUCHE($A2;1)="R";$D2*RECHERCHEV($C2;Coût_Dpmnt;3;0);SI(OU(GAUCHE($A2;1)="L";GAUCHE($A2;1)="D");$D2*RECHERCHEV($C2;Coût_Dpmnt;2;0);"")))


    Oui j'ai utilisé la fomule GAUCHE() à la place de DROITE() car je suppose que c'est la première lettre qui est recherchée

    Voici le fichier en retour

    Cordialement
    0
    1. Contributeur
      salut Papyluc, comment va ce mois d’Août?
      je crois qu'il manque une référence à la colonne W dans ta formule_2° partie_ (mais je n'ai pas regardé ton modèle)
      Bien cordialement
      0
    2. Salut Vaucluse. Ce mois d'août est dur pour ma vieille carcasse mais on arrive à faire avec.

      Oui en effet j'ai complètement occulté la référence au W donc ma formule n'est pas bonne. Je verrai ça demain
      Bien cordialement
      0
    3. Bonjour,

      Salutations Vaucluse

      Après intégrations du W ma formule rejoint presque la tienne la tienne à ceci près que j'ai gardé les colonnes A B C D mais tu as raison il y a des modifications à faire pour alléger le fichier.

      Attendons la réaction de MAN78460

      =SI(ET(base!X2<>0;GAUCHE($A2;1)="R");$D2*RECHERCHEV($C2;tout_cout_traction;3;0);SI(ET(base!W2<>0;OU(GAUCHE($A2;1)="L";GAUCHE($A2;1)="D"));$D2*RECHERCHEV($C2;tout_cout_traction;2;0);""))


      Cordialement
      0
    4. Bonjour PapyLuc et Mr Vaucluse,

      Je viens d'appliquer la dernière formule, je vais faire quelques vérification
      Effectivement c'est bien la première lettre a prendre en compte, R = reprise "coût traction" différent de de L =livraison.

      Question, quel niveau de formation excel me faudrait il ?
      Je dois au niveau Initiation.

      Je regarde ce que ça donne cette petite formule mais à priori cela à l'air parfait

      JE VOUS REMERCIE PAR AVANCE
      0
    5. PapyLuc,

      Je viens de coller la formule, tout va bien sauf les mouvements commençant par L et D, les lignes #valeur!

      =SI(ET(BASE!X7<>0;GAUCHE($A7;1)="R");$D7*RECHERCHEV($C7;tout_cout_traction;3;0);SI(ET(BASE!W7<>0;OU(GAUCHE($A7;1)="L";GAUCHE($A7;1)="D"));$D7*RECHERCHEV($C7;tout_cout_traction;2;0);""))
      0