Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [M10:M627]) Is Nothing Or Target.Count > 1 Or CStr(Target(1)) = "" Then Exit Sub
Dim memorise$
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évênements
memorise = CStr(Target) 'mémorise la dernière entrée
Application.Undo 'annule l'entrée
If InStr(vbLf & Target & vbLf, vbLf & memorise & vbLf) = 0 Then
Target = IIf(Target = "", "", Target & vbLf) & memorise 'concatène les entrées
Target.WrapText = True 'renvoi à la ligne
Target.EntireRow.AutoFit 'ajuste...