Bonjour,
voici une solution où la liste est codée dans le programme, pour répondre à ton besoin, je pense que le mieux serait d'avoir une feuille paramètre dans laquelle tu mettrais la liste des feuilles à mettre dans la synthèse, à toi de voir.
Sub aargh()
Dim wsn As String
Set wss = Sheets("synthese")
For Each wsn In Split("23-44-50-60-52-78-99-100", "-")
Set ws = Sheets(wsn & "")
If ws.Name <> wss.Name Then
dc = ws.Cells(1, Columns.Count).End(xlToLeft).Column
dcs = wss.Cells(1, Columns.Count).End(xlToLeft).Column
If dcs <> 1 Then dcs = dcs + 2
dl = ws.Cells(Rows.Count, 1).End(xlDown).Row
Range(ws.Cells(1, 1), ws.Cells(dl, dc)).Copy wss.Cells(1, dcs)
End If
Next
End Sub
si tu veux que la macro demande quelles feuilles mettre dans la synthèse
Sub aargh()
Dim wsn As String
Set wss = Sheets("synthese")
wsl=inputbox("donner la liste des feuilles à mettre dans la synthèse (séparées par un -)")
For Each wsn In Split(wsl,"-")
Set ws = Sheets(wsn & "")
If ws.Name <> wss.Name Then
dc = ws.Cells(1, Columns.Count).End(xlToLeft).Column
dcs = wss.Cells(1, Columns.Count).End(xlToLeft).Column
If dcs <> 1 Then dcs = dcs + 2
dl = ws.Cells(Rows.Count, 1).End(xlDown).Row
Range(ws.Cells(1, 1), ws.Cells(dl, dc)).Copy wss.Cells(1, dcs)
End If
Next
End Sub