Sub test()
PrintByPage Sheets(1)
End Sub
Function PrintByPage(WsH As Worksheet)
Dim NbPageS&, x&
With WsH
With .PageSetup
NbPageS = .Pages.Count
'...
'...
'd'autres paramètre ici que tu pourrais bien vouloir
'...
'...
End With
For x = 1 To NbPageS: .PrintOut From:=x, To:=x, Copies:=1, Collate:=True, IgnorePrintAreas:=False: Next
End With
End Function