Ecriture dans une cellule de la formule =NB.SI à partir d'une macro

Bonjour,

Ci-joint un fichier excel comprenant une macro très simple.

Sub ecrit_nb_si()

wks = "Feuil1"

Worksheets(wks).Range("B1") = "=NB.SI(A1:A10;" & """<>5""" & ")"

Worksheets(wks).Range("C1") = "=MAX(A1:A10)"

End Sub

L'objectif de cette macro est d'écrire des formules dans respectivement les cellules "B1" et "C1"

L'écriture dans la cellule "C1" se passe sans aucun problème.

L'écriture de la formule avec "=NB.SI(..)" dans la cellule "B1" pose problème. je reçois l''erreur 1004.

Si je retire le caractère "=" de la chaine "=NB.SI(A1:A10;" & """<>5""" & ")" la macro s’exécute sans problème mais alors la cellule "B1" ne contient que la chaîne "NB.SI(A1:A10;" & """<>5""" & ")" et donc aucun calcul n'a lieu.

L'expression de la formule est juste car si j'ajoute manuellement un "=" dans la cellule "B1" juste devant la chaîne existante, alors le calcul voulu a lieu.

Le détour par la version anglaise "Countif" (qui est automatiquement traduite en NB.SI) n'apporte rien.

Quelqu'un pourrait-il m'indiquer pourquoi on ne peut pas écrire la formule "=Nb.Si(..)" à partir d'une macro, comme cela est le cas pour d'autres formules comme "=MAX(..)" par exemple.

Merci par avance

Youki

Salut Youki,

Worksheets(wks).Range("B1").FormulaLocal = "=NB.SI(A1:A10;""<>5"")"

A+

Rechercher des sujets similaires à "ecriture formule partir macro"