Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, p As Range
Application.ScreenUpdating = False
Set p = Rows(3).SpecialCells(2, 2)
If [A2] = "Tout" Then
p.EntireColumn.Hidden = False
Else
On Error Resume Next
Mois = CDate("1/" & [A2])
For Each c In p
Select Case CDate("1/" & c)
Case Is = Mois: c.EntireColumn.Hidden = False
Case Else: c.EntireColumn.Hidden = True
End Select
Next
End If
End Sub