Caratère ''='' dans formule macro

Bonjour à tous,

J'ai un pépin et je n'arrive pas à trouver comment corriger le tout. De plus, il faut dire que je débute dans le monde de la macro, je suis encore à mes débuts. Voici la macro (relativement simple):

Sub TEST2SOMMESI()

'

' TEST2SOMMESI Macro

ActiveWorkbook.Sheets("SOMMAIRE").Range("C10").Formula = "=SOMME.SI(IMPORTATION!$M:$M;SOMMAIRE!D10;IMPORTATION!$L:$L)"

End Sub

Le problème est que lorsque le met un égal "=" en avant de SOMME.SI, et que je lance la macro, il y a un message d'erreur.

Lorsque j'enlève le ''=", la macro marche mais elle écrit dans la cellule: SOMME.SI(IMPORTATION!$M:$M;SOMMAIRE!D10;IMPORTATION!$L:$L)

Dans les faits, je ne veux pas que se soit écrit ça, je veux que la ''Formule'' s'effectue.

Pourriez-vous m'indiquer comment je dois faire svp pour mettre le caractère "=" dans ma formule?

De plus, j'aimerais que la macro copie cette formule pour toutes les lignes de mon tableau "Table1", en fonction de la quantité de lignes qui peut varier, d'un projet à l'autre. Quelqu'un pourrait m'aider à y arriver svp?

Merci d'avance à vous tous!

Vasco

Bonjour.

Le VBA est en anglais, si tu veux écrire SOMME.SI utilise FormulaLocal et non formula, ça devrait l'aider à reconnaitre la syntaxe de ta formule

Pour remplir toutes les lignes tente

Dim i as integer

i = première ligne

Do until Is empty Cells(i,colonne)

Cells(i,colonne).FormulaLocal = "=...."

i =i +1

Loop

Bonjour Elhevan!

Merci beaucoup pour le réponse! Tu as tout à fait raison! Ça marche parfaitement!

Je dois avouer que je n'ai pas le même succès pour ce qui est de la boucle, probablement parce que je n'écris pas bien le code!

Sheets("SOMMAIRE").Select

Range("C10").Select

Dim X As Integer

X = (10)

Cells(X, c).FormulaLocal = "=SOMME.SI(IMPORTATION!$M:$M;SOMMAIRE!D10;IMPORTATION!$L:$L)"

X = X

Loop

Est-ce que c'est correct?

Merci encore pour le coup de main!

Vasco

Essaye avec

Sheets("SOMMAIRE").Select

Dim X As Integer

X = 10

Do until Is empty (Cells(X,3))

Cells(X, 3).FormulaLocal = "=SOMME.SI(IMPORTATION!$M:$M;SOMMAIRE!D10;IMPORTATION!$L:$L)"

X = X +1

Loop

Et si D10 doit bouger aussi (j'imagine que oui) remplace par

"=SOMME.SI(IMPORTATION!$M:$M;SOMMAIRE!" & Cells(X,4).Address & ";IMPORTATION!$L:$L)"

C'est parfait! Ça marche très bien! Wow!

Merci encore d'avoir pris de ton temps pour m'aider! C'est super!

Bonne journée à toi et à tout le forum!

A+ Vasco

Rechercher des sujets similaires à "caratere formule macro"