Salut Olivier,
premier jet.
J'ai établi une liste des mois de l'année (sans accents !) susceptibles, manifestement, d'exister et de contenir ces horaires.
Les macros (dans 'ThisWorkbook') ne fonctionneront donc QUE dans le cadre de ces feuilles.
Un clic en [A1] crée une liste de validation reprenant les prénoms existants de la ligne 1 excepté celui qui, éventuellement, serait actuellement "scrollé".
Á tester...
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'
Dim Mois(), sItem$
'
Application.EnableEvents = False
'
Mois = Array("", "JANVIER", "FEVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOUT", "SEPTEMBRE", "OCTOBRE", "NOVEMBRE", "DECEMBRE")
With Sh
If Not Intersect(Target, .[A1]) Is Nothing Then
.[A1] = IIf(.[A1] = "", 0, .[A1])
.[A1].Validation.Delete
ActiveWindow.ScrollColumn = 2
For x = 1 To 12
If Sh.Name = Mois(x) Then
For y = 7 To .Cells(1, Columns.Count).End(xlToLeft).Column Step 10
If y <> .[A1] And .Cells(1, y) <> "0" And .Cells(1, y) <> .Cells(1, .[A1]) Then sItem = sItem & IIf(sItem = "", "", ",") & .Cells(1, y)
Next
If sItem <> "" Then .[A1].Validation.Add Type:=xlValidateList, Formula1:=sItem
End If
Next
End If
End With
'
Application.EnableEvents = True
'
End Sub
A+