Sub MasquerCol()
Dim Rng As Range, T(), L As Long, C As Long
Set Rng = Worksheets("Base").UsedRange
Set Rng = Rng(2, 4).Resize(Rng.Rows.Count - 1, Rng.Columns.Count - 3)
T = Rng.Value
For C = Rng.Columns.Count To 1 Step -1
For L = UBound(T, 1) To 1 Step -1
If T(L, C) <> 0 Then Exit For
Next L
If L >= 1 Then Exit For
Next C
Rng.EntireColumn.Hidden = True
If C >= 1 Then Rng.Columns(1).Resize(, C).EntireColumn.Hidden = False
End Sub
Sub MasquerLig()
Dim Rng As Range, T(), L As Long, C As Long, RH As Range
Set Rng = Worksheets("Base").UsedRange
Set Rng = Rng(2, 4).Resize(Rng.Rows.Count - 1, Rng.Columns.Count - 3)
T = Rng.Value
For L = 1 To UBound(T, 1)
For C = 1 To UBound(T, 2)
If T(L, C) <> 0 Then
If RH Is Nothing Then Set RH = Rng.Rows(L) Else Set RH = Union(RH, Rng.Rows(L))
Exit For: End If
Next C, L
Rng.EntireRow.Hidden = True
If Not RH Is Nothing Then RH.EntireRow.Hidden = False
End Sub