Logiciel ou macro permettant de reduire la taille d'une formule

  • Initiateur de la discussion Initiateur de la discussion LocSta
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

LocSta

XLDnaute Occasionnel
Bonjour, je voudrais savoir s'il existe un logiciel ou une macro qui permet de réduire le nb de caractére d'une formule.
Je m'explique, il m'arrive de faire des formules contenant 700 caractéres (car je n'y connais rien en macro) je me debrouille donc avec des formules, et j'm'en sort pas tro mal, le pb c'est quel sont longue!!! car elles reprenne plusieurs fois les memes valeur, je pense qu'on doit pouvoir effectué le meme calcul (meme raisonnement) en utilisant moins de caractéres

Ex de formule longue:
=SI(SI(SI(SI(E4="pasindemnisation";0;"x")="x";SI(E4="25pc";C4*0,25*$H$3;"x");SI(E4="pasindemnisation";0;"x"))="x";SI(SI(E4="50pc";C4*0,5*$H$3;"x")="x";SI(E4="75pc";C4*0,75*$H$3;"x");SI(E4="50pc";C4*0,5*$H$3;"x"));SI(SI(E4="pasindemnisation";0;"x")="x";SI(E4="25pc";C4*0,25*$H$3;"x");SI(E4="pasindemnisation";0;"x")))="x";SI(E4="100pc";C4*$H$3;"?");SI(SI(SI(E4="pasindemnisation";0;"x")="x";SI(E4="25pc";C4*0,25*$H$3;"x");SI(E4="pasindemnisation";0;"x"))="x";SI(SI(E4="50pc";C4*0,5*$H$3;"x")="x";SI(E4="75pc";C4*0,75*$H$3;"x");SI(E4="50pc";C4*0,5*$H$3;"x"));SI(SI(E4="pasindemnisation";0;"x")="x";SI(E4="25pc";C4*0,25*$H$3;"x");SI(E4="pasindemnisation";0;"x"))))

Dans cette formule ont remarque qu'il y a des caractéres redondant (ex: "pasindemnisation") peut on donc faire en sorte que cette chaine de caractére ne soit plusieurs fois dans la formules sans pour autaut en changer le fonctionnement. Merci à ceux qui auront eu le courage de me lire jusqu'au bout. Thx
 
Re : Logiciel ou macro permettant de reduire la taille d'une formule

Bonjour Locsta,

Pour raccourcir une formule, la solution idéale est d'en nommer certaines parties, notamment les parties qui se répètent.

Attention dans la formule que tu proposes : Excel est limité à 7 niveaux d'imbrication de fonctions. Dans ton cas, ça passe, mais si tu avais 2 ou 3 conditions supplémentaires, ça ne passerait plus.

Pour ta formule, l'idéal est de se référer à une table d'équivalence où d'associer les fonctions INDEX, EQUIV et CHOISIR. Voir le post de cmdt avec plusieurs solutions.

@+

Edit : Salut Staple, t'ai pas vu passer !

@+
 
Re : Logiciel ou macro permettant de reduire la taille d'une formule

Bonjour
Ta formule répète inutilement la même condition :
si(E4="pasindemnisation";0;"x")
on pourrait déjà la simplifier.
De plus on doit pouvoir trouver le résultat plus simplement.
Je regarde mais si tu as un exemple ce sera plus facile.
@+
 
Re : Logiciel ou macro permettant de reduire la taille d'une formule

Bonjour
Avoir le fichier d'origine je comprends le contexte mais le classeur a du bouger depuis.
Déjà on peut remplacer la formule par
=SI(E1="pasindemnisation";0;SI(E1="25pc";C4*0,25*$H$3;SI(E1="50pc";C4*0,5*$H$3;SI(E1="75pc";C4*0,75*$H$3;SI(E1="50pc";C4*0,5*$H$3;SI(E1="100pc";C4*$H$3;"?"))))))

qui traite les cas suivants
pasindemnisation
25pc
50pc
75pc
100pc
autre chose

Mais on peut faire plus simple en mettant 0, 25, 50, 75 ou 100 dans la cellule E1
=SI(ET(MOD(E1;25)=0;E1<=100);E1/100*C4*$H$3;"?")

si j'ai tout compris (pas sure) on ne traite que les multiples de 25 , de 0 à 100 au maximum
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
1 K
J
Réponses
3
Affichages
914
J
G
Réponses
3
Affichages
1 K
gueguethai
G
Retour