Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
With UsedRange
If .Rows.Count < 3 Then Exit Sub
With .Offset(2).Resize(.Rows.Count - 2, 6)
.Sort .Columns(5), xlAscending, Header:=xlNo 'tri croissant
If IsNumeric(.Cells(1, 5)) Then .Resize(Application.Count(.Columns(5))).Sort .Columns(5), xlDescending 'tri décroissant
End With
End With
End Sub