Sub ButtonPrintStats()
Dim feuilles, zones, wb As Workbook, n%, P As Range, Z As Range
feuilles = Array("Stats population", "Stats métiers", "Stats générales")
zones = Array("C4:M26", "D5:N27", "E6:O28")
Set wb = Workbooks.Add 'document auxiliaire
For n = 0 To UBound(feuilles)
Set P = ThisWorkbook.Worksheets(feuilles(n)).Range(zones(n))
P.Copy ActiveCell 'Copier-coller
Set P = ActiveCell.Resize(P.Rows.Count, P.Columns.Count)
Set Z = Union(IIf(Z Is Nothing, P, Z), P)
P(1, P.Columns.Count + 2).Select 'nouvelle cellule active
Next
With wb.Sheets(1)
.Cells.RowHeight = 15 'hauteur à adapter
.Cells.ColumnWidth = 10.71 'largeur à adapter
With .PageSetup
.PrintArea = Z.Address
.CenterHorizontally = True 'Centrage horizontal
.CenterVertically = True 'Centrage vertical
.Orientation = xlLandscape 'Paysage
End With
.PrintPreview 'Aperçu pour tester
'.PrintOut 'Pour imprimer
End With
wb.Close False 'fermeture du document auxiliaire
End Sub