Menu

S'implifier une formule trop longue [Résolu/Fermé]

- - Dernière réponse :  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






Afficher la suite 

2 réponses

Messages postés
1923
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
13 mai 2019
206
0
Merci
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.
http://cjoint.com/?EBzsRjqlPpx
CDLT
Messages postés
1928
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
23 mai 2019
742
0
Merci
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
Merci beaucoup