Bonjour,
Je voudrai traduire cette formule en VBA. Quelqu'un pourrait m'aider?
Merci d'avance,
Code:=SIERREUR(MOYENNE(SI(($BT$2:$BT$100000=BT2)*($BV$2:$BV$100000=BV2)*($BW$2:$BW$100000=BW2)>0;$CD$2:$CD$100000));"")
Version imprimable
Bonjour,
Je voudrai traduire cette formule en VBA. Quelqu'un pourrait m'aider?
Merci d'avance,
Code:=SIERREUR(MOYENNE(SI(($BT$2:$BT$100000=BT2)*($BV$2:$BV$100000=BV2)*($BW$2:$BW$100000=BW2)>0;$CD$2:$CD$100000));"")
Bonjour,
Je pense que, pour indiquer qu'une formule est matricielle en VBA, on utilise la propriété ".FormulaArray" et tout en anglais. Essaie
Code:Worksheets("feuil1").Range("a23").FormulaArray = "=ISERROR(AVERAGE(IF(($BT$2:$BT$100000=BT2)*($BV$2:$BV$100000=BV2)*($BW$2:$BW$100000=BW2)>0;$CD$2:$CD$100000));"")"
Merci pour ta Réponse.
En fait jai essayé cette solution mais elle prend beaucoup de temps dans le traitement (plus de 25000 lignes)
J'ai testé aussi le code ci-dessous
Mais il renvoi systématiquementCode:Evaluate = ("=IFERROR(AVERAGE(IF((R2C72:R100000C72=RC[-75])*(R2C74:R100000C74=RC[-73])*(R2C75:R100000C75=RC[-72])>0,R2C82:R100000C82)),"""")")
JE ne sais pas comment tourner la formule pour que le temps de traitement soit court....Code:#VALEUR
Voici mon code :
Il me retourne une erreur 2015Code:.Cells(2, 147).Value = Application.Evaluate("ISERROR(AVERAGE(IF(($BT$2:$BT$100000=BT2)*($BV$2:$BV$100000=BV2)*($BW$2:$BW$100000=BW2)>0;$CD$2:$CD$100000));"")")
Help:?
Il n'y a pas un problème de date inversée (format français - anglais) ?
Non je ne pense pas ...
J'ai joint le fichier au cas ou