Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer, DerCol As Integer, MaDate As Range
DerCol = Cells(8, Columns.Count).End(xlToLeft).Column
If Not Application.Intersect(Target, Range("M7")) Is Nothing Then
Range(Cells(8, 17), Cells(8, DerCol)).EntireColumn.Hidden = False 'affichage toutes colonnes
Set MaDate = Range(Cells(8, 17), Cells(8, DerCol)).Find(Target, , , xlWhole)
If Not MaDate Is Nothing Then
Range(Cells(8, 17), Cells(8, MaDate.Column - 1)).EntireColumn.Hidden = True
Else
MsgBox "Date inconnue"
End If
End If
End Sub