Simplification de code

Bonjour, y a t'il moyen de simplifier ce code de tri? Merci.

ActiveWorkbook.Worksheets("Renseignement").ListObjects("Tableau3").Sort. _
        SortFields.Clear
    ActiveWorkbook.Worksheets("Renseignement").ListObjects("Tableau3").Sort. _
        SortFields.Add Key:=Range("Tableau3[Grade]"), SortOn:=xlSortOnValues, _
        Order:=xlAscending, CustomOrder:= _
        "CMDT,CNE,LTT,MAJ,ADC,ADJ,SGC,SGT,CLC,CAL,AV1,AVT,RES,RFT", DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Renseignement").ListObjects("Tableau3").Sort. _
        SortFields.Add Key:=Range("Tableau3[Nom]"), SortOn:=xlSortOnValues, Order _
        :=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Renseignement").ListObjects("Tableau3").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

Bonsoir,

S'il y a un support fichier et une explication de ce que tu veux obtenir, oui surement.

Re , je cherche à trier le tableau de la feuille ("Renseignement") par ("Grade") puis par ("Nom"). Voici le fichier. Merci.

6planning-v2.xlsm (62.27 Ko)

Re,

Essaye le code suivant :

Sub Tri()
    Range("Tableau3").Sort Key1:=Range("B2"), Key2:=Range("C2"), Header:=xlYes
End Sub

Re,

J'ai ce message d'erreur : (voir image)

Amicalement

Benoist

pb tri

Bonjour,

tu peux allonger la phrase comme ceci:

Sheets("Renseignement").Range("Tableau3").Sort Key1:=Sheets("Renseignement").Range("B2"), Key2:=Sheets("Renseignement").Range("C2"), Header:=xlYes

sans quoi, XL demande d'être sur l'onglet concerné...

P.

Merci Patrick1957 le tri se fait mais de A à Z sur les 2 colonnes alors que j'essai de trier la colonne "Grade" comme ceci

CustomOrder:= _
        "CMDT,CNE,LTT,MAJ,ADC,ADJ,SGC,SGT,CLC,CAL,AV1,AVT,RES,RFT"

Amicalement

Benoist

Rechercher des sujets similaires à "simplification code"