Bonjour,
Il faut aussi doubler les " internes pour que vba l'interprète comme un caractère de la formule et non comme fin de chaine (et de la formule).
Tu peux aussi laisser la formule en français avec .formulaLocal :
[A1].FormulaLocal = "=SIERREUR(MOYENNE(SI(($C$20:$C$1048576=""Entrée"");$F$20:$F$1048576));""-"")"
Ce qui n'existe pas pour les formules matricielles (FormulaArrayLocal n'existe pas).
Mais tu peux la mettre en français, et ensuite la valider en matriciel avec :
[A1].FormulaArray = [A1].Formula
Autre façon : inscrire ta formule dans un nom (dans un nom elle sera toujours matricielle) et mettre =ton_nom en formule dans ta cellule.
eric
Partager