Bonjour a tous,

Je souhaite utiliser la fonction "Evaluate" en VBA pour un SUMPRODUCT.


Voici le code que j'utilise:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim m As Integer
Dim Pathd As String
Pathd = Range("Database").Value 'Renvoies au chemin du fichier externe de la base de donnee excel
 
'La formule ci-dessous fonctionne parfaitement avec deux criteres de selection dans la formule Sumproduct 
'et renvoie le nombre d'entree repondant aux criteres selectionnes.
 
m = Evaluate("=SUMPRODUCT(('" & Pathd & "'!Column1=A2)*('" & Pathd & "'!Column2=D2))")
 
'OU
 
m = Evaluate("=SUMPRODUCT(('" & Pathd & "'!Column1=A2)*('" & Pathd & "'!Column3=E2))")
 
'OU
 
m = Evaluate("=SUMPRODUCT(('" & Pathd & "'!Column2=D2)*('" & Pathd & "'!Column3=E2))")
 
'Les 3 differentes fonctions ci-dessus fonctionnent bien et demontre que je n'ai aucune erreurs d'entree de donnees 
'dans la base pour chacun des criteres. Lorsque j'utilise ces trois criteres ensemble dans le code ci-dessous,
'j'ai un message d'erreur de type mismatch
 
m = Evaluate("=SUMPRODUCT(('" & Pathd & "'!Column1=A2)*('" & Pathd & "'!Column2=D2)*('" & Pathd & "'!Column3=E2))")
Je suppose qu'il s'agit d'une erreur de syntaxe mais je n'arrive pas a l'identifier. Les parentheses et les guillemets me semblent correctes.

Avez-vous une idee?

Merci d'avance pour votre aide.
Cordialement,
Sebastien