Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With [A3].CurrentRegion 'à adapter
If Intersect(Target, .Cells) Is Nothing Then Exit Sub
Dim c As Range
Cancel = True
Application.ScreenUpdating = False
.Rows.Hidden = False
ThisWorkbook.RefreshAll
For Each c In Intersect(Target.EntireColumn, .Cells)
If c = 0 Then c.EntireRow.Hidden = True
Next
End With
End Sub
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target(1), [A3].CurrentRegion) Is Nothing Then Exit Sub 'à adapter
Cancel = True
Rows.Hidden = False
ThisWorkbook.RefreshAll
End Sub