XL 2016 Utilisation de SumIfs sur une plage qui contient des #VALEUR!

mxdktm

XLDnaute Nouveau
Bonjour,
Je souhaite transposer la formule Excel suivante en vba :

=SOMME.SI.ENS(Matrix!C$1:C$10;Matrix!$A$1:$A$10;"Crit1";Matrix!$B$1:$B$10;"Crit2";Matrix!C$1:C$10;"<>#VALEUR!")

Le dernier critère est ajouté car la colonne C est issue de calculs qui peuvent ne pas tous aboutir.

J'ai tenté :

VB:
Dim total As Integer
Dim sum As Range
Dim criteria1 As Range
Dim criteria2 As Range

Set criteria1 = Worksheets("Matrix").Range("A1:A10")
Set criteria2 = Worksheets("Matrix").Range("B1:B10")
Set sum = Worksheets("Matrix").Range("C1:C10")

total = Application.WorksheetFunction.SumIfs(sum, criteria1, "Crit1", criteria2, "Crit2", sum, "<>#VALEUR!")

Mais dès qu'il y a une cellule contenant "#VALEUR!" dans ma colonne C, j'obtiens l'erreur :
"Erreur d'exécution '1004' : Impossible de lire la propriété SumIfs de la classe WorksheetFunction".

J'ai fouillé partout sur le net et je suis surprise que le problème ne soit pas massivement partagé ! Ou alors j'ai raté quelque chose ?
Quelqu'un aurait une idée ?
 
Dernière édition:

mxdktm

XLDnaute Nouveau
Bonjour Mxfktm, et bienvenu sur XLD,
Le VBA ne parle qu'anglais, essayez :
VB:
total = Application.WorksheetFunction.SumIfs(sum, criteria1, [G3], criteria2, [G4], sum, "<>#Value!")
voir PJ
Merci beaucoup pour votre aide ! Ca marche !
Ca ne m'avait même pas effleuré l'esprit parce que pour moi SumIfs interprétait le critère comme un string, c'est-à-dire littéralement ce qui se trouvait dans la cellule (alors que bien sûr que non !).
 

Discussions similaires