Sub tri_liste_perso()
Dim Num_List As Byte
On Error Resume Next
Num_List = Application.GetCustomListNum(Array("MJR", "MP", "PM", "MT", "SM", "QM1", "QM2", "MOT"))
'on récupère le numéro de la liste personnelle dans Outils/Options/Listes Persos
If Num_List = 0 Then
' Si elle n'existe pas
Application.AddCustomList ListArray:=Array("MJR", "MP", "PM", "MT", "SM", "QM1", "QM2", "MOT")
' on ajoute la liste personnelle
Num_List = Application.CustomListCount
' on récupère le numéro de la liste personnelle
' tout ajout de liste personnelle étant à la fin, ce sera donc la dernière
End If
Range("B1:C" & [B65000].End(xlUp).Row).Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("C2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=Num_List + 1
' On effectue le tri, avec pour première clé, le grade, et deuxième, le nom
' Comme la première (Nouvelle Liste) n'est pas comptabilisée, on ajoute 1 à Num_List
' Pour le faire directement sur la feuille, Données/Trier, Lignes de titres : Oui
' Choisir Grade, et dans Options, Première clé de l'ordre de tri, choisir MJR....
End Sub