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