Sub Tri()
If IsError(Application.Caller) Then Exit Sub 'sécurité
Dim nobjet, ncol, i, ordre
nobjet = Array(5, 6, 2, 3, 8, 9, 11, 12, 15, 16) 'numéros dans les noms des objets
ncol = Array(8, 8, 5, 5, 6, 6, 2, 2, 9, 9) 'numéros des colonnes de tri
i = Application.Match(Val(Split(Application.Caller)(1)), nobjet, 0)
ordre = IIf(ncol(i - 1) = 5, xlDescending, xlAscending)
Application.ScreenUpdating = False
[A1].CurrentRegion.Sort Columns(ncol(i - 1)), ordre, Header:=xlYes
LignesNullesEnBas
End Sub