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 :
Pour le mettre en tableau voilà ce que j'ai tenté :Code:
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
Mais les méthodes 'Range()' échouent toutes..Code:
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
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