• Initiateur de la discussion Initiateur de la discussion FAUB
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

FAUB

XLDnaute Nouveau
Bonjour à tous,

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 ?

Merci d'avance pour votre aide.
FAUB
 
Re : Vba sumproduct

Salut FAUB, Softmama 🙂, ler Forum

essaye peut-être cela

Code:
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
Bonne Journée
 
Re : Vba sumproduct

bonjour FAUB, SOftmama !

juste un petit clin d'oeil a Softmama 😉 pour ton aide concernant mon post.

sinon FAUB, a tester!

Sub Test ()
dim cell as string, cell1 as string

i = 7
set a=worksheet(1).sheet(1)
cell = a.Cells(i, 2)
cell1= a.cells(i,4)

Do While Cell <> ""
cell1 = Application.Evaluate("=SUMPRODUCT((Result!A10:A100 =cell)*(Result!J10:J100=""Marge"")*(Result!A H10:AH100))")

bonne journee!

lele79
i = i + 1
Loop
End Sub
 
Dernière édition:
Re : Vba sumproduct

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

Merci à tous.
Bonne soirée.

FAUB
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
369
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
482
Réponses
17
Affichages
1 K
Retour