J'essaie d'adapter une formule SUMPRODUCT en VBA. Voici ce que j'ai :
Sub Test ()
i = 7
Do While Cells(i, 2) <> ""
Cells(i, 4) = Application.Evaluate("=SUMPRODUCT((Result!A10:A100="Amandine")*(Result!J10:J100=""Marge"")*(Result!AH10:AH100))")
i = i + 1
Loop
End Sub
Dans cette configuration elle fonctionne mais j'aimerais mettre à la place de "Amandine" une variable qui est "Cells(i,2)".
Sub Test ()
i = 7
Do While Cells(i, 2) <> ""
Cells(i, 4) = Application.Evaluate("=SUMPRODUCT((Result!A10:A100=Cells(i,2))*(Result!J10:J100=""Marge"")*(Result!AH10:AH100))")
i = i + 1
Loop
End Sub
Et la ça ne fonctionne plus puisque ce n'est plus du texte.
Avez-vous une solution ?
Sub Test()
i = 7
Do While Cells(i, 2) <> ""
Cells(i, 4) = Application.Evaluate("=SUMPRODUCT((Result!A10:A100 =[B]" & Cells(i, 2) & "[/B])*(Result!J10:J100=""Marge"")*(Result!A H10:AH100))")
i = i + 1
Loop
End Sub
Bon, j'ai trouvé la solution à mon problème : il faut mettre """ de part et d'autres de la variable dans cette formule. Et la ça marche nickel.
Sub Test ()
i = 7
Do While Cells(i, 2) <> ""
Cells(i, 4) = Application.Evaluate("=SUMPRODUCT((Result!A10:A100 ="""Cells(i,2)""")*(Result!J10:J100=""Marge"")*(Result!A H10:AH100))")
i = i + 1
Loop
End Sub