Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [C3:C5]) Is Nothing Then Exit Sub
Dim ligA, ligB, [COLOR="Red"]nB[/COLOR]
Application.ScreenUpdating = False
On Error Resume Next
Cells.EntireColumn.Hidden = False
If [C3] >= 1 Then Range(Columns([C3] + 3), Columns(Columns.Count)).Hidden = True
Cells.EntireRow.Hidden = False
ligA = Application.Match([C4], [B:B]) + 1
Intersect(Range(Rows(ligA), Rows(Rows.Count)), [A].MergeArea).EntireRow.Hidden = True
[COLOR="Red"]nB = [C5] + [A].MergeArea.Count[/COLOR]
ligB = Application.Match([COLOR="Red"]nB[/COLOR], [B:B]) + 1
Intersect(Range(Rows(ligB), Rows(Rows.Count)), [B].MergeArea).EntireRow.Hidden = True
End Sub