Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Source As Range)
If Sh.CodeName <> "Feuil1" And Sh.CodeName <> "Feuil2" Then Exit Sub
Set Source = Intersect(Source, Sh.[C5:C65536], Sh.UsedRange)
If Source Is Nothing Then Exit Sub
Dim cel As Range, maxi As Long
'---effacement éventuel des numéros en colonne B---
For Each cel In Source
If cel = "" Then cel.Offset(, -1) = ""
Next
'---incrémentation en colonne B---
For Each cel In Source
If cel <> "" And Not IsNumeric(cel.Offset(, -1).Text) Then
maxi = Application.Max(Feuil1.[B:B], Feuil2.[B:B])
cel.Offset(, -1) = maxi + 1
End If
Next
Application.OnRepeat "", "" 'impossible de répéter
End Sub