1 pièce(s) jointe(s)
SOMME.SI.ENS en VBA avec utilisation de 3 classeurs
Bonjour,
J'ai un petit problème concernant le vba et l'utilisation de la fonction SOMME.SI.ENS (SUMIFS).
Comme vous pouvez le voir ci-dessous en image, j'utilise 3 feuilles (2016 / 2017 / ecart). Mon classeur actif est "ecart" sur la feuille "TYPE A".
Pièce jointe 340910
Mon calcul est tout simple, je dois récupérer la somme total 2016 dans le classeur 2016 en fonction du type et du nom. De même pour 2017. Cela me permettra de calcul les écarts.
Le problème c'est que je ne sais pas comment jongler entre les classeur en VBA...
Pourriez-vous m'aider?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Sub test()
Dim ligne As Long
Dim wb16 As Workbook
Dim wb17 As Workbook
Dim ecart As Workbook
Set wb16 = Workbooks("2016.xlsx")
Set wb17 = Workbooks("2017.xlsx")
Set ecart = ActiveWorkbook
For ligne = 2 To 10000
Cells(ligne, 3) = Application.WorksheetFunction.SumIfs(wb16.Sheets("2016").Range("C:C"), wb16.Sheets("2016").Range("B:B"), "A", wb16.Sheets("2016").Range("A:A"), Sheets("TYPE A").Cells(ligne, 1))
Next ligne
End Sub |
:pc: Pour information : Je dois utiliser une boucle car le vrai fichier comporte plus de 400 000 lignes.