Dim Plage As Range
On Error Resume Next
Set Plage = Application.InputBox('Sélectionnez la plage à imprimer', Type:=8)
On Error GoTo 0
If Plage Is Nothing Then Exit Sub
Application.Goto Plage
If MsgBox('Voulez-vous imprimer la plage sélectionnée ?', vbYesNo) = vbYes Then
ActiveSheet.PageSetup.PrintArea = Plage.Address
ActiveSheet.PrintOut preview:=True
End If