Salut,
Dans le code de la feuille "Worksheet_SelectionChange", j'ai ajouté ce passage :
' Actualisation de la zone d'impression
DerCol = Rows("1:28").Find("*", , , , xlByColumns, xlPrevious).Column
Zone = Range(Cells(1, 1), Cells(28, 9)).Address
If DerCol > 9 Then
For i = 11 To DerCol Step 10
Zone = Zone & "," & Range(Cells(1, i), Cells(28, i + 8)).Address
Next i
End If
ActiveSheet.PageSetup.PrintArea = Zone
Le code recherche quelle est la dernière colonne utilisée (DerCol = ......), place une première zone d'impression fixe, pour le premier tableau (Zone = Range(Cells(1,1), cells(28, 9)).Address) puis ajoute autant de nouvelles zones d'impression que nécessaire par la boucle ''For/Next". Tout à la fin, les nouvelles zones d'impression additionnées dans la variable ''Zone'' sont mises en place sur la feuille par la dernière instruction du code ci-dessus.
A ta disposition si tu as besoin de plus d'explications.
Amicalement.