Consolidation de n feuilles avec "Consolidate Sources:="
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:
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