Problème formule Excel - Code VBA

Bonjour à toutes et à tous,

Voici mon problème. Lorsque je tape directement ma formule dans le fichier EXCEL celle-ci fonctionne:

=IF(AND($C2="Area (ha)",$E2="Fully converted"),SUMIFS(UK!$E$9:$E$77,UK!$C$9:$C$77,Data!$H2279),IF(AND($C2="Area (ha)",$E2="In conversion"),SUMIFS(UK!$F$9:$F$77,UK!$C$9:$C$77,Data!$H2279),IF(AND($C2="Area (ha)",$E2="Total"),SUMIFS(UK!$F$9:$F$77,UK!$C$9:$C$77,Data!$H2279),IF(AND($C2="Tonne",$E2="Fully converted"),SUMIFS(UK!$F$9:$F$77,UK!$C$9:$C$77,Data!$H2279),""))))

Mais lorsque j'essaie d'automatiser cette formule, elle ne marche plus ( c'est à dire en passant par VBA):

Cells(i, 1).Formula = "=IF(AND($C2="Area (ha)",$E2="Fully converted"),SUMIFS('" & co & "'!$E$9:$E$77,'" & co & "'!$C$9:$C$77,Data!$H2279),IF(AND($C2="Area (ha)",$E2="In conversion"),SUMIFS('" & co & "'!$F$9:$F$77,'" & co & "'!$C$9:$C$77,Data!$H2279),IF(AND($C2="Area (ha)",$E2="Total"),SUMIFS('" & co & "'!$F$9:$F$77,'" & co & "'!$C$9:$C$77,Data!$H2279),IF(AND($C2="Tonne",$E2="Fully converted"),SUMIFS('" & co & "'!$F$9:$F$77,'" & co & "'!$C$9:$C$77,Data!$H2279),""))))"

Est-ce que quelqu'un pourrait m'aider car je ne vois pas d'ou provient le problème ?

Merci.

Cordialement,

Marion

Sub Expand()
    i = 2
    While Cells(i, 6) <> ""
        co = Cells(i, 6)
        'Cells(i, 1).Formula = "=SUMIFS('" & co & "'!$" & ce & "$8:$" & ce & "$69,'" & co & "'!$F$8:$F$69,$D" & k & ")"
        Cells(i, 1).Formula = "=IF(AND($C2="Area (ha)",$E2="Fully converted"),SUMIFS('" & co & "'!$E$9:$E$77,'" & co & "'!$C$9:$C$77,Data!$H2279),IF(AND($C2="Area (ha)",$E2="In conversion"),SUMIFS('" & co & "'!$F$9:$F$77,'" & co & "'!$C$9:$C$77,Data!$H2279),IF(AND($C2="Area (ha)",$E2="Total"),SUMIFS('" & co & "'!$F$9:$F$77,'" & co & "'!$C$9:$C$77,Data!$H2279),IF(AND($C2="Tonne",$E2="Fully converted"),SUMIFS('" & co & "'!$F$9:$F$77,'" & co & "'!$C$9:$C$77,Data!$H2279),""))))"
        i = i + 1
    Wend
End Sub

Bonjour,

difficile d'y voir clair, surtout quand on est en excel FR !

peux-tu mettre un bout de fichier ?


Cells(i,6) contient quoi ?

Data! avec le ! au bout ?

Steelson a écrit :

Bonjour,

difficile d'y voir clair, surtout quand on est en excel FR !

peux-tu mettre un bout de fichier ?


Cells(i,6) contient quoi ?

Data! avec le ! au bout ?

Oui je vais mettre mon fichier excel, je pensais l'avoir déjà mis.

SUMIFS ce sont des somme.si en français

Cells(i,6) contient les acronymes des pays.

Exemple: France = FR

Allemagne = DE

marions1857 a écrit :

Mais lorsque j'essaie d'automatiser cette formule, elle ne marche plus ( c'est à dire en passant par VBA):

Cells(i, 1).Formula = "=IF(AND($C2="Area (ha)",$E2="Fully converted"),SUMIFS('" & co & "'!$E$9:$E$77,'" & co & "'!$C$9:$C$77,Data!$H2279),IF(AND($C2="Area (ha)",$E2="In conversion"),SUMIFS('" & co & "'!$F$9:$F$77,'" & co & "'!$C$9:$C$77,Data!$H2279),IF(AND($C2="Area (ha)",$E2="Total"),SUMIFS('" & co & "'!$F$9:$F$77,'" & co & "'!$C$9:$C$77,Data!$H2279),IF(AND($C2="Tonne",$E2="Fully converted"),SUMIFS('" & co & "'!$F$9:$F$77,'" & co & "'!$C$9:$C$77,Data!$H2279),""))))"

Bonjour,

Malheureusement le fichier comporte ceci :

=SI(SOMME.SI.ENS(#REF!;#REF!;$E9;#REF!;$C$8;#REF!;$C$9;#REF!;$C$10)=0;"";SOMME.SI.ENS(#REF!;#REF!;$E9;#REF!;$C$8;#REF!;$C$9;#REF!;$C$10))

Pour ce qui est de la macro, plutôt que de mettre guillement+apostrophe "', essaie de doubler les guillemets ""

Cells(i, 1).Formula = "=IF(AND($C2=""Area (ha)"",$E2=""Fully converted""),SUMIFS(UK!$E$9:$E$77,UK!$C$9:$C$77,Data!$H2279),IF(AND($C2=""Area (ha)"",$E2=""In conversion""),SUMIFS(UK!$F$9:$F$77,UK!$C$9:$C$77,Data!$H2279),IF(AND($C2=""Area (ha)"",$E2=""Total""),SUMIFS(UK!$F$9:$F$77,UK!$C$9:$C$77,Data!$H2279),IF(AND($C2=""Tonne"",$E2=""Fully converted""),SUMIFS(UK!$F$9:$F$77,UK!$C$9:$C$77,Data!$H2279),""""))))"

Tu peux ensuite remplacer UKpar" & co & "sans les apostrophes.

Cells(i, 1).Formula = "=IF(AND($C2=""Area (ha)"",$E2=""Fully converted""),SUMIFS(" & co & "!$E$9:$E$77," & co & "!$C$9:$C$77,Data!$H2279),IF(AND($C2=""Area (ha)"",$E2=""In conversion""),SUMIFS(" & co & "!$F$9:$F$77," & co & "!$C$9:$C$77,Data!$H2279),IF(AND($C2=""Area (ha)"",$E2=""Total""),SUMIFS(" & co & "!$F$9:$F$77," & co & "!$C$9:$C$77,Data!$H2279),IF(AND($C2=""Tonne"",$E2=""Fully converted""),SUMIFS(" & co & "!$F$9:$F$77," & co & "!$C$9:$C$77,Data!$H2279),""""))))"

à tester !

Rechercher des sujets similaires à "probleme formule code vba"