Sub Tab_1()
Dim r As Range, s As Worksheet, c&, q
Set s = Sheets(1)
With s
Set r = .Range("$E$18:$Q$30")
c = Application.WorksheetFunction.CountBlank(r)
If c = 0 Then
q = _
MsgBox("Voulez-vous imprimer la plage " _
& r.Address(0, 0) & " de la feuille : " & _
.Name & " ?", vbYesNo, "Impression")
If q = vbYes Then
.PageSetup.PrintArea = r.Address
.PrintPreview
'Application.Dialogs(xlDialogPrint).Show
Else
Exit Sub
End If
End If
End With
End Sub