Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Chaine$, Position%, F
If Not Application.Intersect(Target, [B3]) Is Nothing Then
Position = 1 ' Repère l'index de la feuille Menu
For Each F In Worksheets
Position = Position + 1
If F.Name = "Menu" Then Exit For
Next F
Position = Position - 1
For Each F In Worksheets ' Ne liste que les feuilles suivantes à Menu
If F.Index > Position Then Chaine = Chaine & "," & F.Name
Next F
Chaine = Mid(Chaine, 2)
With Range("B3").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=Chaine
End With
End If
End Sub