Comment trier la plage en VBA ?

Pour trier une plage de cellules à l’aide de VBA, vous devez utiliser la méthode « SORT » qui vous permet de définir une seule clé (colonne) ou plusieurs clés (pour plusieurs colonnes) à trier. Vous pouvez également définir l’ordre (croissant ou décroissant) dans lequel vous souhaitez trier, et vous pouvez spécifier si vous avez un en-tête ou non.

Trier une plage avec VBA

  1. Utilisez l’objet range pour spécifier la plage que vous souhaitez trier.
  2. Tapez un point et entrez la méthode de tri.
  3. Spécifiez la clé que vous souhaitez utiliser pour trier.
  4. Définissez l’ordre de tri.
  5. Mentionnez si vous avez un en-tête ou non.
trier une plage par vba
Range("A1:A11").Sort Key1:=Range("A1"), _
                     Order1:=xlAscending, _
                     Header:=xlYes

Dans le code ci-dessus, vous avez utilisé la plage A1: A11, et dans la méthode de tri, vous avez utilisé l’ordre croissant, mentionné que vous avez un en-tête dans la plage.

Comprendre la méthode de tri de VBA

Avant d’écrire une macro pour trier une plage, il est préférable de se plonger dans la méthode de tri et de comprendre ses arguments.

Sort (Key1, Order1, Key2, Type, Order2, Key3, Order3, _
Header, OrderCustom, MatchCase, Orientation, SortMethod, _
DataOption1, DataOption2, DataOption3)

Voici les arguments les plus importants que vous utiliserez dans la vie réelle.

  • Clé : Ici, vous devez définir une cellule dont vous souhaitez utiliser la colonne comme base de tri.
  • Ordre : Ordre dans lequel vous voulez trier la colonne (ascendant/descendant).
  • En-tête : Une constante pour spécifier si vous avez un en-tête ou non ou si vous voulez que VBA devine.

Trier par ordre décroissant

Dans le code suivant, j’ai utilisé le « xlDescending » pour trier la colonne de montant par ordre décroissant.

Trier par ordre décroissant
Range("A1:A13").Sort Key1:=Range("A1"), _
                     Order1:=xlDescending, _
                     Orientation:=xlSortColumns

Utilisation de plusieurs colonnes (clés) pour trier

Vous pouvez également utiliser plusieurs colonnes pour trier une plage. Prenons un exemple du tableau ci-dessous où vous avez plusieurs entrées avec des noms d’employés et des villes, et vous devez trier en utilisant le nom et la ville.

Utiliser plusieurs colonnes pour trier

Voici le code que vous devez utiliser :

codes pour plusieurs colonnes
Range("A1:C13").Sort Key1:=Range("A1"), _
                     Order1:=xlAscending, _
                     Key2:=Range("B1"), _
                     Order1:=xlAscending, _
                     Header:=xlYes

Comme vous pouvez le voir dans le code, vous avez key1 et key2. Dans la clé1, vous avez la colonne avec le nom de l’employé, et dans la clé2, vous avez la colonne de la ville. Pour les deux colonnes, l’ordre de tri est croissant et les en-têtes sont là.

Remarque : Vous pouvez l’utiliser comme n’importe quelle colonne que vous souhaitez utiliser comme base de tri à l’aide des clés et de l’ordre.

Modification de l’orientation du tri

Lorsque vous triez normalement des données dans Excel, par défaut, vous pouvez trier à l’aide de colonnes. Mais à partir des options de tri, vous pouvez modifier l’orientation du tri de gauche à droite au lieu de haut en bas.

trier l'orientation

De la même manière, vous avez un argument dans la méthode sort pour changer l’orientation ( lien ).

méthode pour trier l'orientation
Range("A1:C13").Sort Key1:=Range("A1"), _
                     Order1:=xlAscending, _
                     Orientation:=xlSortRows

Ajouter un commentaire

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