S'implifier une formule trop longue

Résolu/Fermé
nhlbiojack - 19 févr. 2015 à 21:01
 Nhlbiojack - 26 févr. 2015 à 14:41
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 lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
25 févr. 2015 à 18:34
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 mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
Modifié par JvDo le 26/02/2015 à 05:43
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
Merci beaucoup
0