Remplacer formule d'une cellule par leurs formules

Bonsoir @tous!

Dans une cellule j'ai une formule:

=C1+D1

C1 = E1+F1

D1 = G1+H1

Ce qui donne:

=(E1+F1)+(G1+H1)

Enfin,

E1 = I1/J1

F1 = K1*L1

G1 = M1-N1

H1 = O1+P1

Qui donne au final:

=((I1/J1)+(K1*L1))+((M1-N1)+(O1+P1))

Pouvez vous je vous prie, m'aider à trouver la macro à utiliser pour y arriver automatiquement?

D'avance merci @tous comme d'habitude!

LePrince

Bonsoir,

Pourquoi une macro pour ça ? !

MFerrand a écrit :

Bonsoir,

Pourquoi une macro pour ça ? !

Parce que la formule est kilométrique.

S'il s'agit de tout remplacer manuellement, ça prend des lustres!

Elle est courte ! et une fois écrite, il n'y a plus à l'écrire !

MFerrand a écrit :

Elle est courte ! et une fois écrite, il n'y a plus à l'écrire !

La formule de mon premier message était un exemple pour mieux comprendre ma demande.

Voici la vrai formule de départ:

=SI(ET(C119;D119;E119;OU(I119;J119));SI(N119;Q119;SI(S119;T119;U119)+SOMME.SI(INDIRECT(X119);AR119;INDIRECT(AS119)))/12;0)

Et voici la formule finale:

=SI(ET(NB.SI(Congés!JQ119;"*salarié*")>0;Congés!JO119<>0;Congés!JO119<DATE(ANNEE(Congés!JX$8);MOIS(Congés!JX$8);20);OU(Congés!JP119=0;DATE(ANNEE(Congés!JX$8);MOIS(Congés!JX$8)-1;20)<Congés!JP119));SI(COLONNE(Congés!JN119)=COLONNE(Congés!$J119);Congés!JS119;SI(ESTNA(SOMMEPROD((RECHERCHE(2;1/((Congés!$J119:JL119<>0)*(Congés!$J$9:JL$9="Congés Payés"));Congés!$J119:JL119))))=VRAI;0;SOMMEPROD((RECHERCHE(2;1/((Congés!$J119:JL119<>0)*(Congés!$J$9:JL$9="Congés Payés"));Congés!$J119:JL119))))+SOMME.SI(INDIRECT("Congés!"&GAUCHE(ADRESSE(1;SI(ESTNA(SOMMEPROD((RECHERCHE(2;1/((Congés!$J119:JL119<>0)*(Congés!$J$9:JL$9="Congés Payés"));Congés!$J119:JL119))))=VRAI;SOMMEPROD((Congés!$J$8:JW$8=DATE(ANNEE(SI(Congés!JO119<Congés!$T$8;Congés!$T$8;Congés!JO119));MOIS(SI(Congés!JO119<Congés!$T$8;Congés!$T$8;Congés!JO119));1))*COLONNE(Congés!$J:JW))-10;SOMMEPROD((RECHERCHE(2;1/((Congés!$J119:JL119<>0)*(Congés!$J$9:JL$9="Congés Payés"));COLONNE(Congés!$J:JL))))+7);4);NBCAR(ADRESSE(1;SI(ESTNA(SOMMEPROD((RECHERCHE(2;1/((Congés!$J119:JL119<>0)*(Congés!$J$9:JL$9="Congés Payés"));Congés!$J119:JL119))))=VRAI;SOMMEPROD((Congés!$J$8:JW$8=DATE(ANNEE(SI(Congés!JO119<Congés!$T$8;Congés!$T$8;Congés!JO119));MOIS(SI(Congés!JO119<Congés!$T$8;Congés!$T$8;Congés!JO119));1))*COLONNE(Congés!$J:JW))-10;SOMMEPROD((RECHERCHE(2;1/((Congés!$J119:JL119<>0)*(Congés!$J$9:JL$9="Congés Payés"));COLONNE(Congés!$J:JL))))+7);4))-1)&9&":"&GAUCHE(ADRESSE(1;COLONNE(Congés!JW119);4);NBCAR(ADRESSE(1;COLONNE(Congés!JW119);4))-1)&9);"Salaire Brut";INDIRECT("Congés!"&GAUCHE(ADRESSE(1;SI(ESTNA(SOMMEPROD((RECHERCHE(2;1/((Congés!$J119:JL119<>0)*(Congés!$J$9:JL$9="Congés Payés"));Congés!$J119:JL119))))=VRAI;SOMMEPROD((Congés!$J$8:JW$8=DATE(ANNEE(SI(Congés!JO119<Congés!$T$8;Congés!$T$8;Congés!JO119));MOIS(SI(Congés!JO119<Congés!$T$8;Congés!$T$8;Congés!JO119));1))*COLONNE(Congés!$J:JW))-10;SOMMEPROD((RECHERCHE(2;1/((Congés!$J119:JL119<>0)*(Congés!$J$9:JL$9="Congés Payés"));COLONNE(Congés!$J:JL))))+7);4);NBCAR(ADRESSE(1;SI(ESTNA(SOMMEPROD((RECHERCHE(2;1/((Congés!$J119:JL119<>0)*(Congés!$J$9:JL$9="Congés Payés"));Congés!$J119:JL119))))=VRAI;SOMMEPROD((Congés!$J$8:JW$8=DATE(ANNEE(SI(Congés!JO119<Congés!$T$8;Congés!$T$8;Congés!JO119));MOIS(SI(Congés!JO119<Congés!$T$8;Congés!$T$8;Congés!JO119));1))*COLONNE(Congés!$J:JW))-10;SOMMEPROD((RECHERCHE(2;1/((Congés!$J119:JL119<>0)*(Congés!$J$9:JL$9="Congés Payés"));COLONNE(Congés!$J:JL))))+7);4))-1)&LIGNE(Congés!JH119)&":"&GAUCHE(ADRESSE(1;COLONNE(Congés!JW119);4);NBCAR(ADRESSE(1;COLONNE(Congés!JW119);4))-1)&LIGNE(Congés!JH119))))/12;0)

Et j'en ai, une trentaine comme ça.

Là je ne commence même pas à l'écrire ! si ça dépasse 3 lignes je considère que la méthode est mauvaise !

Et quand une méthode est mauvaise on en change...

Cordialement.

MFerrand a écrit :

Là je ne commence même pas à l'écrire ! si ça dépasse 3 lignes je considère que la méthode est mauvaise !

Et quand une méthode est mauvaise on en change...

Cordialement.

Merci quand même pour la réponse.

Mais de rien ! C'est aussi un conseil : lorsqu'on souhaite avoir un outil (=classeur) qui demeure réactif, fonctionne avec fluidité... , c'est dès le départ qu'on s'efforce de ne pas le charger démesurément...

Rechercher des sujets similaires à "remplacer formule leurs formules"