Option Explicit
Sub test()
Dim cellule As Range
'la derniere ligne est déterminée selon la dernière cellule de la colonne j
For Each cellule In Range("j5", Range("J65536").End(xlUp))
If cellule.Value > 0 And cellule.Offset(0, -2).Value < (Date + 30) Then cellule.EntireRow.Hidden = True
Next cellule
End Sub