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".
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Pour information : Je dois utiliser une boucle car le vrai fichier comporte plus de 400 000 lignes.
Partager