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

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal