Sub ImprimeSansVide()
Dim Plage As Range
On Error Resume Next
Application.ScreenUpdating = False
With ActiveSheet
Set Plage = .Range("n1:n1004")
For Each CEL In Plage
If CEL.Value = 0 Then Rows(CEL.Row).Hidden = True
Next CEL
.PrintPreview 'pour voir sans imprimer
.Rows.Hidden = False
End With
End Sub