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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *