Gamme de tri VBA - Comment trier la plage dans Excel VBA?

Table des matières

Plage de tri Excel VBA

Le tri d'une plage dans VBA se fait par la méthode range.sort, c'est une propriété de la méthode range avec laquelle un utilisateur peut trier une plage dans l'ordre, les arguments de cette fonction sont Key1, Order1, Key2, Type, Order2, Key3 , Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, tous les arguments de cette fonction sont facultatifs.

Dans le cadre de l'organisation ou de la structuration des données, il est important de trier les données et de les organiser. Une chose similaire est également disponible avec VBA, donc une question courante sur les nouveaux apprenants de VBA est de savoir comment nous pouvons utiliser cette option de tri dans le cadre de l'automatisation VBA, et cet article vous guide à travers la gamme VBA Sort en détail.

Avec Excel, nous connaissons tous l'option du tri disponible sous l'onglet DONNÉES.

Option de tri dans VBA

Pour utiliser l'option de tri, nous devons d'abord décider quelle est notre plage de données et mentionner la même plage de données en utilisant l'objet RANGE dans VBA, ensuite nous pouvons seulement accéder à l'option «Trier» dans VBA. Par exemple, supposons que ma plage de données va de A1 à D10, alors nous pouvons fournir la plage de données comme suit.

Code:

Sub Sort_Range_Example () Range ("A1: D10") End Sub

Mettez maintenant un point et sélectionnez la méthode «TRIER».

Code:

Sub Sort_Range_Example () Range ("A1: D10"). Sort End Sub

Voici la syntaxe de la méthode SORT de range. Bien que la syntaxe ait des arguments différents, nous n'avons pas besoin de tous pour notre codage VBA, nous n'avons donc besoin que de quelques éléments.

(Key1): Dans la plage de données que nous trions , nous devons spécifier la colonne à trier. Par exemple, dans la plage de données A1: D10, si nous voulons trier les données en fonction de la colonne B, alors (Key1) sera Range («B1») .

(Order1): La colonne mentionnée dans l' argument (Key1) doit être triée dans quel ordre. Nous pouvons choisir deux options ici «xlAscending» ou «xlDescending».

En-tête: la plage de données mentionnée a des en-têtes ou non. Si oui, nous pouvons fournir «xlYes» ou bien nous pouvons fournir «xlNo».

Exemple de plage de tri dans VBA

Prenons l'exemple de la gamme de tri Excel VBA pour mieux comprendre cela.

Par exemple, regardez la structure de données ci-dessous.

Nous avons des données de A1 à E17, donc d'abord, nous allons trier les données en fonction de "Par pays". Suivez les étapes ci-dessous pour écrire le code pour trier les données.

Étape 1: Démarrez la procédure de macro Excel.

Code:

Sub Sort_Range_Example () End Sub

Étape 2: Commencez par mentionner la plage de données à l'aide de l' objet RANGE .

Code:

Sub Sort_Range_Example () Range ("A1: E17") End Sub

Étape 3: Choisissez maintenant la méthode « Trier » de l'objet Range.

Code:

Sub Sort_Range_Example () Range ("A1: E17"). Sort End Sub

Étape 4: Puisque nous trions les données en fonction du «Pays par pays», notre colonne d'argument Clé 1 sera Range («B1»).

Code:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), End Sub

Étape 5: Une fois que la colonne requise est mentionnée, nous devons mentionner dans quel ordre nous devons trier les données, et «Order1» sera l'ordre «xlAscending» .

Code:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlAscending, End Sub

Étape 6: Nos données comportent des en-têtes. L'en-tête sera donc «xlOui».

Code:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlAscending, Header: = xlYes End Sub

We have mentioned all the elements which are required to sort the data. Execute the code by pressing the F5 function and key and see the result.

Output:

Data has been sorted based on Country names in the order of A to Z.

Now assume we need to sort the data based on Country-wise also we need to sort the “Gross Sales” from highest to lowest. In such cases, we need to make use of Key2 and Order2 arguments as well.

After mentioning Key1 & Order1, let’s choose Key2.

Code:

Sub Sort_Range_Example() Range("A1:E17").Sort Key1:=Range("B1"), Order1:=xlAscending,Key2:= End Sub

Since we are sorting the data based on the “Gross Sales” column, our Key2 column name will be Range(“D1”).

Code:

Sub Sort_Range_Example() Range("A1:E17").Sort Key1:=Range("B1"), Order1:=xlAscending,Key2:=Range("D1"), End Sub

Once the Key2 is specified, we need to decide on the sorting patter of whether it is ascending order or descending order in Order2 argument. Since we are sorting the sales value from largest to smallest, we can choose “xlDescending” order.

Code:

Sub Sort_Range_Example() Range("A1:E17").Sort Key1:=Range("B1"), Order1:=xlAscending, Key2:=Range("D1"), Order2:=xlDescending, Header:=xlYes End Sub

After that, mention the Header argument as “xlYes.” Now run the code and see what happens.

Output:

Previously it has sorted based only on “Country-wise” but this time it has sorted based on “Country-wise” first and then also on “Gross Sales” from highest to lowest.

Comme ça, nous pouvons utiliser la méthode « Trier » dans VBA pour organiser les données.

Points à retenir sur la plage de tri Excel VBA

  • Le tri est une méthode disponible dans VBA, et pour accéder à cette méthode, nous devons spécifier la plage de cellules que nous allons trier.
  • Si la plage de données comprend des en-têtes, nous devons choisir l'option d'en-tête "xlOui", sinon, nous pouvons choisir "xlNo".

Articles intéressants...