Bonjour et bienvenue,
Un exemple dans le fichier joint.
Les données sont sous forme de tableaux (structurés).
La sélection d'un code ajoute un suffixe xxx (3 chiffres) à celui-ci en fonction de son nombre d'occurrences.
Cdlt.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strCode As String
On Error GoTo errHandler
If Not Intersect(Target, Range("T_Données").Columns(1)) Is Nothing And Target.Count = 1 Then
If Not IsEmpty(Target) Then
strCode = Target.Value & Format(WorksheetFunction.CountIf(Range("T_Données").Columns(1), Target.Value & "*"), "000")
Application.EnableEvents = False
Target.Value = strCode
Range("T_Données").ListObject.ListRows.Add
End If
End If
exitHandler:
Application.EnableEvents = True
Exit Sub
errHandler:
MsgBox "Erreur : " & Err.Number & Chr(10) & Err.Description
Resume exitHandler
End Sub