Salut st mar,
la macro, qui a calculé la longueur de la ligne d'infos, s'attend à ce que cette ligne soit complète avant de trier les événements.
Private Sub Worksheet_Change(ByVal Target As Range)
'
Dim iRow%, iCol%, sCol$
'
Application.EnableEvents = False
'
iRow = Target.Row
iCol = Cells(1, Columns.Count).End(xlToLeft).Column
sCol = Split(Columns(iCol).Address(ColumnAbsolute:=False), ":")(1)
'
If Not Intersect(Target, Range("A:" & sCol)) Is Nothing Then
Columns.AutoFit
If WorksheetFunction.CountA(Range("A" & iRow & ":" & sCol & iRow)) = iCol And Range("A3").Value <> "" Then _
Range("A1:" & sCol & Range("A" & Rows.Count).End(xlUp).Row).Sort key1:=Range("A2"), order1:=xlAscending, Orientation:=xlTopToBottom, Header:=xlYes
End If
'
Application.EnableEvents = True
'
End Sub
Á tester en situation réelle...
A+