Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static SélectionPrécédente As Range
Dim Cellule As Range
Dim Sens As Integer
Dim Repositionne As Boolean
If SélectionPrécédente Is Nothing Then Set SélectionPrécédente = Target
For Each Cellule In Target.Cells
If Cellule.Column >= SélectionPrécédente.Column Then Sens = 1 Else Sens = -1
If Cellule.Offset(0, 1 - Cellule.Column).Value = "ARRIVEE" Then
Do While 1
Select Case Cellule.Column
Case 5, 8, 9, 11
Set Cellule = Cellule.Offset(0, Sens)
Repositionne = True
Case Else
Exit Do
End Select
Loop
ElseIf Cellule.Offset(0, 1 - Cellule.Column).Value = "DEPART" Then
Do While 1
Select Case Cellule.Column
Case 7, 9, 11
Set Cellule = Cellule.Offset(0, Sens)
Repositionne = True
Case Else
Exit Do
End Select
Loop
End If
If Repositionne Then
Set Target = Cellule
Application.EnableEvents = False
Target.Select
Application.EnableEvents = True
Exit For
End If
Next Cellule
Set SélectionPrécédente = Target
End Sub