S'implifier une formule trop longue

Résolu
nhlbiojack -  
 Nhlbiojack -
Bonjour, quelqu'un pourrait s'implifier une formule excel excessivement longue que j'ai créer. Elle demande beaucoup d'addition et de conditionel , mais elle est fonctionnel à 100%. Je me demande si elle est modifiable pour la raccourcir un peu car quand mes prix changes le risque d'erreur est élever et c'est long. Aussi j'ai un problème quand je mets mon classeur sur excel 2003 chez mes distributeurs , elle est trop long pour la prendre en charge. merci beaucoup!!!!

voilà la formule:

=ENT((G10*4.25)+(SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)=0;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*0;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=3;3*10.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=14.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*10.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=29.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*13.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=39.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*15.55;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*17.65)))))))+(MOD((G10*4.25)+(SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)=0;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*0;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=3;3*10.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=14.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*10.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=29.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*13.45;SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)<=39.99;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*15.55;((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*17.65))))));1)>0)*0.95






A voir également:

2 réponses

Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
Bonjour
Les mégaformules, c'est beau mais ça n'encourage pas à intervenir quand il y à un pépin.
Vu qu'apparemment, on ne teste que 3 cellules D11,E11,G10 + les valeurs Pourquoi ne pas la décomposer comme suit:
exemple
en M2 : =ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2)
en M3: =(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144
et dans la formule globale, faire référence à ces cellules.

Dans cette partie:
SI(((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)=0; si le résultat=0
on peut remplacer ((ARRONDI.AU.MULTIPLE(ARRONDI.SUP(D11;0);2))*(ARRONDI.AU.MULTIPLE(ARRONDI.SUP(E11;0);2))/144)*0 par 0
(à vérifier)

De plus, pour une question de commodité et de gain en longueur, pourquoi ne pas mettre les prix dans un tableau, il est plus facile d'en changer les valeurs que d'intervenir dans la formule. Voici en M5 la formule allégée, il y a sûrement encore des parenthèses qu'on peut faire sauter.

A essayer et à adapter suivant les possibilités disponibles sur votre fichier.
https://www.cjoint.com/c/EBzsRjqlPpx
CDLT
0
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859
 
Bonjour,

à essayer :
=ENT((G10*4,25)+2*ARRONDI.SUP(D11/2;0)*2*ARRONDI.SUP(E11/2;0)/144*RECHERCHEV(2*ARRONDI.SUP(D11/2;0)*2*ARRONDI.SUP(E11/2;0)/144;{0\31,35;3,01\10,45;15\13,45;30\15,55;40\17,65};2;VRAI))+(MOD((G10*4,25)+RECHERCHEV(2*ARRONDI.SUP(D11/2;0)*2*ARRONDI.SUP(E11/2;0)/144;{0\31,35;3,01\10,45;15\13,45;30\15,55;40\17,65};2;VRAI);1)>0)*0,95
0
Nhlbiojack
 
Merci beaucoup
0