Bonjour,

je cherche à faire une macro sous VBA avec la formule suivante sous excel

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
=(1+(E6*(X6-Y6)/Y6)+ (G6*(Z6-AA6)/AA6) + (I6*(AB6-AC6)/AC6) + (K6*(AD6-AE6)/AE6) + (M6*(AF6-AG6)/AG6) + (O6*(AH6-AI6)/AI6) + (Q6*(AJ6-AK6)/AK6))*100
Dans le tableau de données que j'utilise les valeurs au numérateur peuvent etre égale à zéro. Excel ne fait pas le calcul dans ce cas.
Est il possible sous VBA de "forcer" le calcul tout de meme de sorte que si par rapport au code ci dessous si par exemple RC[-12] = 0 alors (RC[-32]*(RC[-13]-RC[-12])/RC[-12]) =0 mais faire le calcul pour le reste.

j'espère etre clair

Merci de votre aide.

Oliver



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
ActiveCell.FormulaR1C1 = _
        "=(RC[-34]*(RC[-15]-RC[-14])/RC[-14])+ (RC[-32]*(RC[-13]-RC[-12])/RC[-12]) + (RC[-30]*(RC[-11]-RC[-10])/RC[-10]) + (RC[-28]*(RC[-9]-RC[-8])/RC[-8])"