Private Sub CommandButton1_Click() 'Masquer ou Afficher
Dim test As Boolean, r As Range
test = CommandButton1.Caption = "Masquer"
Application.ScreenUpdating = False
For Each r In [B2:G15,B19:G32].Rows 'plages à adapter
r.Hidden = test And Application.Sum(r) = 0
Next
For Each r In [B2:G15,B19:G32].Columns
r.Hidden = test And Application.Sum(r) = 0
Next
CommandButton1.Caption = IIf(test, "Afficher", "Masquer")
End Sub