XL 2016 Vba trier plusieurs colonnes d'une plage

  • Initiateur de la discussion Initiateur de la discussion KTM
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

KTM

XLDnaute Impliqué
Bonsoir chers tous
Je voudrais trier quatre colonnes par ordre croissant ( B,E,G,I) .
Dans mon fichier j'ai conçu un code mais quelque chose cloche.
Aidez moi à corriger Svp.
 
Re

@KTM
Qu'est-ce tu entends par

Tu peux donner plus détails.
Merci
Mon code renvoie une erreur
VB:
Sub tri()
Application.ScreenUpdating = False
Dim Rng As Range
Set Rng = Range("B3:M" & [B65000].End(xlUp).Row)
Rng.Sort key1:=Range("B3"), order1:=xlAscending, key2:=Range("E3"), order2:=xlAscending, _
key3:=Range("G3"), order3:=xlAscending, key4:=Range("I3"), order4:=xlAscending
End Sub
 

Pièces jointes

Re

Oui, cela semble normal si on regarde que nous dit VBA
sorting.png
Il n'y a de Key4

Par contre en prenant, cette syntaxe plus d'erreur mais est-ce que le tri obtenu est ce que tu cherches ?
Code:
Sub tri_bis()
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add2 Key:=Range("B3:B78") _
        , SortOn:=xlSortOnValues, Order:=1, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add2 Key:=Range("E3:E78") _
        , SortOn:=xlSortOnValues, Order:=1, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add2 Key:=Range("G3:G78") _
        , SortOn:=xlSortOnValues, Order:=1, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add2 Key:=Range("I3:I78") _
        , SortOn:=xlSortOnValues, Order:=1, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil1").Sort
        .SetRange Range("B2:M78")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
 
Bonjour,

Je voudrais trier quatre colonnes par ordre croissant ( B,E,G,I) .
Ta question est bizarre car quand tu vas trier une colonne, ça va changer l'ordre des lignes de cette colonne, mais aussi des autres colonnes.

Donc comme l'a dit Staple1600, il faudrait donner quelques précisions sur ce que tu veux exactement obtenir comme résultat. 😉
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
754
Retour