Bonjour,
Une procédure évènementielle.
Cdlt.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim dt, n, nn
Const R As String = "C3:W14"
If Not Intersect(Target, Me.Range(R)) Is Nothing And Target.Count = 1 Then
dt = Me.Cells(1, Target.Column).Value2
n = Application.Match(dt, Range("feries"), 0)
nn = VBA.Weekday(dt, vbMonday)
If Not IsError(n) Or nn > 5 Then Target.Offset(, -1).Select
End If
End Sub