Bonjour,
Une autre proposition avec bouton en feuille Accueil.
L'emplacement des tableaux mensuels n'est pas figée.
La mise à jour des données s'effectue avec le bouton en feuille Accueil.
Les colonnes Mois et Nombre sont inutiles (dans l'utilisation éventuelle de TCDs).
Cdlt.
Option Explicit
Option Private Module
Public Sub MergedWorksheets()
Dim ws As Worksheet, wsData As Worksheet
Dim lo As ListObject
Dim lRow As Long
Application.ScreenUpdating = False
Set wsData = ActiveWorkbook.Worksheets("Résumé")
With wsData
Set lo = .ListObjects(1)
With lo
If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete
End With
Set lo = Nothing
End With
lRow = 2
For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> wsData.Name And ws.Name <> "Accueil" Then
For Each lo In ws.ListObjects
lo.DataBodyRange.Resize(, lo.ListColumns.Count - 1).Copy
With wsData
.Cells(lRow, 1).PasteSpecial xlPasteValues
lRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
End With
Application.CutCopyMode = False
Next lo
End If
Next ws
wsData.Activate
MsgBox "Mise à jour effectuée", vbOKOnly + vbInformation, "Consolidation annuelle"
Set wsData = Nothing
End Sub