Private Sub Worksheet_Change(ByVal Target As Range)
Dim n&, x$, i%, num, y$
With ListObjects(1).DataBodyRange.Columns(1)
For n = .Rows.Count To 2 Step -1 'recherche la dernière cellule non vide
If .Cells(n) <> "" Then
x = .Cells(n - 1) 'cellule précédente
If x Like "SXB*#*/##" Then
For i = 1 To Len(x)
If IsNumeric(Mid(x, i, 1)) Then num = Val(Mid(x, i)) + 1: Exit For
Next i
If Not .Cells(n) Like "SXB*" & num & "/" & Right(x, 2) Then
y = Replace(Replace(.Cells(n), "SXB", ""), "/", "") 'épurage au cas où...
For i = 0 To 9
y = Replace(y, i, "")
Next i
Application.EnableEvents = False 'désactive les évènements
.Cells(n) = "SXB" & UCase(y) & num & "/" & Right(x, 2)
Application.EnableEvents = True 'réactive les évènements
End If
End If
Exit For
End If
Next n
End With
End Sub