Je te propose la petite macro suivante:
Sub mymacro()
'Sélectionner la première cellule contenant des valeurs
Range("O6").Select
'Boucle qui tourne jusqu'à ce qu'elle rencontre une cellule vide
While IsEmpty(ActiveCell.Value) = False
' Si la valeur est 0, la ligne est masquée
If ActiveCell.Value = 0 Then
Selection.EntireRow.Hidden = True
'Sinon, la ligne est affichée. Ces deux lignes peuvent être enlevées si tu n'as pas besoin de réafficher des lignes préalablement masquées
Else
Selection.EntireRow.Hidden = False
End If
ActiveCell.Offset(1, 0).Select
Wend
End Sub