Comment trier par date dans VBA (avec exemples)
Vous pouvez utiliser la syntaxe de base suivante dans VBA pour trier les lignes par date :
Sub SortByDate()
Range("A1:C10").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes
End Sub
Cet exemple particulier trie les lignes de la plage A1:C10 en fonction des dates de la colonne A, de la plus ancienne à la plus récente.
Si vous souhaitez trier les lignes par date du plus récent au plus ancien, 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 par date à l’aide de VBA
Supposons que nous ayons l’ensemble de données suivant dans Excel qui contient des informations sur les ventes et les remboursements dans un magasin à différentes dates :
Supposons que nous souhaitions trier les lignes par date, du plus ancien au plus récent.
Nous pouvons créer la macro suivante pour ce faire :
Sub SortByDate()
Range("A1:C10").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que les lignes sont désormais triées par date, de la date la plus ancienne à la date la plus récente.
Pour trier les lignes par date du plus récent au plus ancien, nous pouvons spécifier Order1:=xlDescending :
Sub SortByDate()
Range("A1:C10").Sort Key1:=Range("A1"), Order1:=xlDescending, Header:=xlYes
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que les lignes sont désormais triées par date, de la plus récente à la plus ancienne.
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