Sub Code()
Dim Crit As String, MaForm As String, LigSel As Long
Dim NbCode As Long, NewCode As Long
' Récupérer la ligne active
LigSel = ActiveCell.Row
' Créer le critère de recherche à partir des colonnes K,L et M
Crit = Range("K" & LigSel) & Range("L" & LigSel) & Range("M" & LigSel)
' Créer la formule : NB.SI()
MaForm = "COUNTIF(J:J,""" & Crit & "*"")"
' Evaluer cette formule pour savoir combien de code existe déjà
NbCode = Application.Evaluate(MaForm)
' Nouveau code = nombre existant + 1
NewCode = NbCode + 1
' Inscrire le nouveau code
Range("J" & LigSel).Value = Crit & Format(NewCode, "000")
End Sub