Un peu amélioré pour éviter un message d'erreur si on arrive en A1 et de mettre uniquement un '-' si la cellule quittée est vide.
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If ActiveCell.Column > 1 Then
If Not IsEmpty(ActiveCell.Offset(0, -1)) Then
ActiveCell.Offset(0, -1) = _
UCase(Left(ActiveCell.Offset(0, -1), 3)) _
& "-" & UCase(Right(ActiveCell.Offset(0, -1), 3))
End If
End If
End Sub
Lupin