XL 2013 Avoir le total avec la formule SumProduct à critère multiple sous VBA

hemerode

XLDnaute Junior
Bonjour à tous,

J'essaie d’exécuter cette macro depuis plusieurs jours mais il y a un souci.
Elle fonctionne seulement que lorsque j'ai le même nombre d'éléments dans { } de part et d'autres.

Sub rhth()
Debug.Print Evaluate("SumProduct((Year(Feuil1!C9:C10)<= Year(Feuil1!G5))* " & _
"((year(Feuil1!E9:E10)>=year(Feuil1!G5))+(Feuil1!E9:E10=""""))*" & _
"((left(Feuil1!B9:B10,3)={""221"",""222"",""224"",""225""})+(left(Feuil1!B9:B10,4)={""2181"",""2281"",""2231""}))*Feuil1!D9:D10)")
End Sub

Réponse d’exécution: Erreur 2042

Merci d'avance pour votre contribution.
 

job75

XLDnaute Barbatruc
Bonjour hemerode,

SOMMEPROD travaille sur une matrice de 2 lignes mais le nombre de colonnes ne va pas.

{""221"",""222"",""224"",""225""} a en effet 4 colonnes alors que {""2181"",""2281"",""2231""} en a 3.

En travaillant sur 3 colonnes SOMMEPROD ne renvoie plus d'erreur :
VB:
Debug.Print Evaluate("SumProduct((Year(Feuil1!C9:C10)<= Year(Feuil1!G5))* " & _
"((year(Feuil1!E9:E10)>=year(Feuil1!G5))+(Feuil1!E9:E10=""""))*" & _
"((left(Feuil1!B9:B10,3)={""221"",""222"",""224""})+(left(Feuil1!B9:B10,4)={""2181"",""2281"",""2231""}))*Feuil1!D9:D10)")
A+
 

hemerode

XLDnaute Junior
Bonjour hemerode,

SOMMEPROD travaille sur une matrice de 2 lignes mais le nombre de colonnes ne va pas.

{""221"",""222"",""224"",""225""} a en effet 4 colonnes alors que {""2181"",""2281"",""2231""} en a 3.

En travaillant sur 3 colonnes SOMMEPROD ne renvoie plus d'erreur :
VB:
Debug.Print Evaluate("SumProduct((Year(Feuil1!C9:C10)<= Year(Feuil1!G5))* " & _
"((year(Feuil1!E9:E10)>=year(Feuil1!G5))+(Feuil1!E9:E10=""""))*" & _
"((left(Feuil1!B9:B10,3)={""221"",""222"",""224""})+(left(Feuil1!B9:B10,4)={""2181"",""2281"",""2231""}))*Feuil1!D9:D10)")
A+


Bonjour Job75,

Merci pour votre reponse.
J'avais compris cela.
Les nombres sont des comptes. Est-ce que je retire le "OU/+" et lister tous les comptes dans les crochets. Ainsi j'aurai une matrice d'une ligne.
Ci-dessous un extrait des comptes. Les cellules en couleur concerne cette macro.
Liste comptes.png


Avec une autre solution à proposer a defaut d'utiliser Gauche (3 caracteres) et Gauche (4 caracteres)?

Merci
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16