Sub Imprimer()
Dim c As Range
With ActiveSheet
Set c = .Rows("5:44").Find("*", , xlValues, , xlByRows, xlPrevious)
If c Is Nothing Then Set c = .[A4]
If c.Row < 44 Then c(2).Resize(44 - c.Row).EntireRow.Hidden = True 'masque les lignes
Set c = .Rows("46:85").Find("*", , xlValues, , xlByRows, xlPrevious)
If c Is Nothing Then Set c = .[A45]
If c.Row < 85 Then c(2).Resize(85 - c.Row).EntireRow.Hidden = True 'masque les lignes
.PrintPreview 'aperçu avant impression pour tester
'.PrintOut 'pour imprimer
.Rows.Hidden = False 'RAZ
End With
End Sub