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 UK
par" & 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 !