VBA : Comment trier une feuille sur plusieurs colonnes
Vous pouvez utiliser la syntaxe de base suivante pour trier une feuille Excel sur plusieurs colonnes à l’aide de VBA :
Sub SortMultipleColumns()
Range("A1:B11").Sort Key1:=Range("A1"), Order1:=xlAscending, _
Key2:=Range("B1"), Order2:=xlDescending, _
Header:=xlYes
End Sub
Cet exemple particulier trie les cellules de la plage A1:B11 d’abord par les valeurs de la colonne A par ordre croissant, puis par les valeurs de la colonne B par ordre décroissant.
Notez que Header:=xlYes spécifie que la première ligne doit être traitée comme une ligne d’en-tête.
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : trier une feuille Excel sur plusieurs colonnes à l’aide de VBA
Supposons que nous ayons l’ensemble de données suivant dans Excel qui contient des informations sur divers joueurs de basket-ball :
Supposons que nous souhaitions trier l’ensemble de données de la manière suivante :
- Tout d’abord, triez selon les valeurs de la colonne Équipe par ordre croissant (A à Z).
- Ensuite, triez selon les valeurs de la colonne Points par ordre décroissant (de la plus grande à la plus petite).
Nous pouvons créer la macro suivante pour ce faire :
Sub SortMultipleColumns()
Range("A1:B11").Sort Key1:=Range("A1"), Order1:=xlAscending, _
Key2:=Range("B1"), Order2:=xlDescending, _
Header:=xlYes
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Les lignes sont désormais triées par nom d’équipe par ordre croissant et par points par ordre décroissant.
Remarque n°1 : Dans cet exemple, nous avons trié sur deux colonnes. Cependant, vous pouvez spécifier autant de clés que vous le souhaitez pour trier encore plus de colonnes.
Remarque n°2 : Vous pouvez trouver la documentation complète de la méthode de tri VBA ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : Comment écrire des fonctions AVERAGEIF et AVERAGEIFS
VBA : Comment écrire des fonctions SUMIF et SUMIFS
VBA : Comment écrire les fonctions COUNTIF et COUNTIFS