XL 2016 trier 4 colonnes d'une plage de cellules

  • 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é
Bonjour chers tous
Je voudrais trier 4 colonnes de ma plage
j'ai fais le code ci dessous mais il me renvoie une erreur
Aidez moi à le corriger
VB:
Sub TrierQuatreColonnes()
    Dim PlageDeDonnees As Range
    With Sheets("Base 2")
    dl = .Range("A" & .Rows.Count).End(xlUp).Row
    Set PlageDeDonnees = .Range("A3:E" & dl)
    PlageDeDonnees.Sort Key1:=.Range("A3"), Order1:=xlAscending, _
                       Key2:=.Range("B3"), Order2:=xlAscending, _
                       Key3:=.Range("C3"), Order3:=xlAscending, _
                       Key4:=.Range("E3"), Order4:=xlAscending, _
                       Header:=xlNo
    End With
End Sub
 

Pièces jointes

Bonsoir,

à tester
VB:
Sub TrierQuatreColonnes()
    Dim PlageDeDonnees As Range
    Dim dl As Long
    
    With Sheets("Base 2")
        dl = .Range("A" & .Rows.Count).End(xlUp).Row
        Set PlageDeDonnees = .Range("A3:E" & dl)
        PlageDeDonnees.Sort Key1:=.Range("A3"), Order1:=xlAscending, _
                           Key2:=.Range("B3"), Order2:=xlAscending, _
                           Key3:=.Range("C3"), Order3:=xlAscending, _
                           Key4:=.Range("E3"), Order4:=xlAscending, _
                           Header:=xlYes ' Indique que la ligne 2 contient des en-têtes
    End With
End Sub
Bonne soirée
 
Bonjour.
Pour autant que je m'en souvienne, cette ancienne forme de classement d'une plage n'acceptait pas plus de 3 arguments.
Il n'y a qu'à un objet Sort qu'on peut en ajouter d'avantage.
Un Range est dépourvu de propriété de ce type. Une Worksheet la possède, et sa méthode SetRange permet de définir la plage à laquelle elle doit s'appliquer.
Un ListObject est également muni d'une propriété Sort.
 
Il est quand même possible avec l'ancienne méthode Sort de l'objet Range de trier par groupes de 3 arguments en commençant par les derniers.
Mais je pense qu'il est plus simple de s'arranger pour utiliser une propriété Sort.
D'ailleurs c'est ce qu'engendre l'enregistrement d'une nouvelle macro, il ne reste plus ensuite qu'à optimiser.
 
- 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

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
511
Réponses
5
Affichages
504
Réponses
2
Affichages
713
Retour