Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
If Target = "Tous" Then Cells.EntireColumn.Hidden = False: Exit Sub
Application.ScreenUpdating = False
DerCol = [IV3].End(xlToLeft).Column + 2
Range(Cells(3, 3), Cells(3, DerCol)).EntireColumn.Hidden = False
c = Rows("3:3").Find(What:=Target).Column
Range(Cells(3, 3), Cells(3, DerCol)).EntireColumn.Hidden = True
Range(Cells(3, c), Cells(3, c + 2)).EntireColumn.Hidden = False
Application.ScreenUpdating = True
End If
End Sub