Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
Mois = CDate("1/" & [A2])
If Not Target.Address = "$A$2" Then Exit Sub
Application.ScreenUpdating = False
On Error Resume Next
For Each c In Rows(3).SpecialCells(xlCellTypeConstants, 2)
If c.Column > 5 Then
Select Case CDate("1/" & c)
Case Is = Mois
c.EntireColumn.Hidden = False
Case Else
c.EntireColumn.Hidden = True
End Select
End If
Next
End Sub