Sub test()
Dim Plage As Range
Plagetot = "A1:I44,A47:I91,A93:I137,A139:I183,A185:I229,A231:I275,A277:I321,A323:I367,A369:I413,A415:I459,N1:V18,N21:V40,N41:V60,N61:V80,N81:V100,N101:V120,N121:V140,N141:V160,N161:V180,N181:V200,N201:V220,N221:V240,N241:V260,N261:V280,N281:V300,N301:V320,N321:V340,N341:V360,N361:V380,N381:V400,N401:V420,AA1:AH47"
Debug.Print Len(Plagetot), Plagetot
p = Split(Plagetot, ",")
For i = 0 To UBound(p)
If Plage Is Nothing _
Then Set Plage = Range(p(i)) _
Else Set Plage = Union(Plage, Range(p(i)))
Next
Debug.Print Len(Plage.Address(False, False)), Plage.Address(False, False)
ActiveSheet.PageSetup.PrintArea = Plage.Address(False, False)
End Sub