VBA : Comment trier les valeurs par ordre alphabétique
Vous pouvez utiliser la syntaxe de base suivante dans VBA pour trier les valeurs d’une plage par ordre alphabétique :
Sub SortAlphabetical()
Range("A1:B11").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes
End Sub
Cet exemple particulier trie les lignes de la plage A1:B11 en fonction des valeurs de la colonne A par ordre alphabétique (de A à Z).
Si vous souhaitez trier les valeurs par ordre alphabétique inverse (de Z à A), vous pouvez spécifier Order1:=xlDescending à la place.
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 les valeurs par ordre alphabétique à 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 les lignes en fonction du nom de l’équipe par ordre alphabétique.
Nous pouvons créer la macro suivante pour ce faire :
Sub SortAlphabetical()
Range("A1:B11").Sort Key1:=Range("A1"), Order1:=xlAscending, 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 alphabétique (de A à Z).
Pour trier les lignes dans l’ordre alphabétique inverse (de Z à A), nous pouvons spécifier Order1:=xlDescending :
Sub SortAlphabetical()
Range("A1:B11").Sort Key1:=Range("A1"), Order1:=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 dans l’ordre alphabétique inverse (de Z à A).
Remarque n°1 : Dans cet exemple, nous avons trié sur une colonne. Cependant, vous pouvez spécifier davantage de clés pour trier sur plusieurs 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 trier une feuille sur plusieurs colonnes
VBA : Comment compter le nombre de lignes dans la plage
VBA : comment filtrer une colonne