Bonjour,

Pour simplifier le temps de traitement d'un code, je souhaite faire un calcul par le biais d'un tableau plutot que directement sur la feuille excel.
A la base mon calcul fonctionne très bien et cela donne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
j = Cells(Rows.Count, 1).End(xlUp).Row
 
For i = 2 To j
Cells(i, 11) = Application.WorksheetFunction.SumIfs(Range(Cells(2, 10), Cells(j, 10)), _
Range(Cells(2, 2), Cells(j, 2)), Cells(i, 2), Range(Cells(2, 9), Cells(j, 9)), Cells(i, 9))
Next
Pour le mettre en tableau voilà ce que j'ai tenté :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Dim T As Variant, H As Variant, L As Variant
T = Range(Cells(2, 2), Cells(j, 11))
For H = LBound(T, 1) To UBound(T, 1)
    T(H, 10) = Application.WorksheetFunction.SumIfs(Range(T(1, 9), T(UBound(T, 1), 9)), _
    Range(T(1, 1), T(UBound(T, 1), 1)), T(H, 1), Range(T(1, 8), T(UBound(T, 1), 8)), T(H, 8))
Next H
Range(Cells(2, 2), Cells(j, 11)) = T
Mais les méthodes 'Range()' échouent toutes..

Comment faut-il utiliser la fonction SumIfs et les ranges() dans un tableau de variants ??

Si besoin de plus de compréhension, je mettrais un partie de mon fichier excel (modifié) qui nécessite cette fonction.

Merci d'avance,
Julien