Bonjour,
J'ai plusieurs fichiers qui contiennent chacun entre 50 et 200 feuilles, c'est feuilles ont toutes le même format.
Je voudrais utiliser "Données/Consolider" pour consolider telle ou telle plage de cellules d'un nombre variable de feuilles successives, mais la tache s’avère pénible quand on doit consolider 200 feuilles.
J'ai donc chercher sur le net une solution VBA à mon problème et j'ai trouvé ce code;
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
18
19 Sub Consolidate_Totals() Dim ws As Worksheet Dim sArray As Variant, i As Integer ReDim sArray(1 To 1) '---Make Array with Named Ranges to be Consolidated For Each ws In ActiveWorkbook.Worksheets If ws.Visible And ws.Name <> "Total" Then i = i + 1 ReDim Preserve sArray(1 To i) sArray(i) = ws.UsedRange.Address(ReferenceStyle:=XlReferenceStyle.xlR1C1, external:=True) End If Next ws If i = 0 Then Exit Sub '---Consolidate using the Array Sheets("Total").Range("j10").Consolidate Sources:=(sArray), _ Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False End Sub
mais ce code consolide toutes les cellules utilisées des feuilles visibles uniquement.
Comme je suis nul (mais vraiment nul hein) en VBA est-ce que quelqu'un peut modifier ce code pour consolider une plage de cellules (qui est la même sur toutes les feuilles) de n feuilles que je choisirais ?
Merci de votre aide
Partager