VBA pour trier un tableau dans Excel (4 méthodes)

  • Partage Ça
Hugh West

Mise en œuvre de Macro VBA est la méthode la plus efficace, la plus rapide et la plus sûre pour exécuter n'importe quelle opération dans Excel. Dans cet article, nous allons vous montrer comment trier le tableau dans Excel avec VBA .

Télécharger le cahier d'exercices

Vous pouvez télécharger le cahier d'exercices Excel gratuit à partir d'ici.

Trier un tableau avec VBA.xlsm

Ce qu'il faut savoir avant de mettre en œuvre le VBA pour trier un tableau dans Excel

Il y a certains paramètres que vous devez utiliser fréquemment lorsque vous travaillez avec le programme Trier méthode de VBA Nous allons donc discuter de certains de ces paramètres afin de vous familiariser avec l'écriture du code.

Paramètre Obligatoire/ Facultatif Type de données Description
Clé En option Variante Spécifie la plage ou la colonne dont les valeurs doivent être triées.
Commandez En option XlSortOrder Spécifie l'ordre dans lequel le tri sera effectué.
  • xlAscending = Pour trier dans l'ordre croissant.
  • xlDescendant = Pour trier par ordre décroissant.
En-tête En option XlYesNoGuess Spécifie si la première ligne contient des en-têtes ou non.
  • xlNo = Lorsque la colonne n'a pas d'en-tête ; Valeur par défaut.
  • xlOui = Lorsque les colonnes ont des en-têtes.
  • xlGuess = Pour laisser Excel déterminer les en-têtes.

4 méthodes d'implémentation de VBA pour trier un tableau dans Excel

Cette section vous montrera comment trier les tableaux Excel en considérant valeur, couleurs, icônes et plusieurs colonnes avec VBA code.

1. Embed VBA pour trier un tableau par valeur dans Excel

Dans l'exemple suivant, nous allons trier ce tableau par les valeurs présents dans le Mark dans l'ordre décroissant.

Des pas :

  • Appuyez sur Alt + F11 sur votre clavier ou allez dans l'onglet Développeur -> ; Visual Basic pour ouvrir Éditeur Visual Basic .

  • Dans la fenêtre pop-up du code, dans la barre de menu, cliquez sur Insertion -> ; Module .

  • Copiez le code suivant et collez-le dans la fenêtre de code.
 Sub SortTableValue() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("SortTBL") Set iColumn = Range("SortTBL[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add Key:=iColumn, SortOn:=xlSortOnValues, Order:=xlDescending .Header = xlYes .Apply End With End Sub 

Votre code est maintenant prêt à être exécuté.

Ici,

  • SortTBL → Spécifié le nom de la table.
  • SortTBL [Marques] -> ; Spécifié le nom de la colonne de la table à trier.
  • Clé1:=iColonne → Spécifiez la plage de colonnes pour que le code sache quelle colonne du tableau trier.
  • Ordre1:=xlDescending → Spécifier la commande comme xlDescendant pour trier la colonne dans l'ordre décroissant. Si vous voulez trier la colonne dans l'ordre croissant, écrivez xlAscending à la place.
  • En-tête:= xlOui → Comme la colonne de ce tableau a un en-tête, nous l'avons spécifié avec la balise xlOui option.

  • Appuyez sur F5 sur votre clavier ou dans la barre de menu, sélectionnez Run -> ; Run Sub/UserForm Vous pouvez également cliquer sur le bouton petite icône Play dans la barre de sous-menu pour exécuter la macro.

Vous verrez que la colonne dans votre tableau est maintenant triés par ordre décroissant .

Lire la suite : Comment trier des données par valeur dans Excel (5 méthodes simples)

2. insérer une macro VBA pour trier un tableau sur plusieurs colonnes

Vous pouvez également trier un tableau pour plusieurs colonnes dans Excel avec VBA macro.

A partir du tableau ci-dessus, nous allons trier les colonnes Nom et Département dans l'ordre croissant.

Des pas :

  • De la même manière que précédemment, ouvrez Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub SortTable() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("TableValue") Set iColumn1 = Range("TableValue[Name]") Set iColumn2 = Range("TableValue[Department]") With iTable.Sort .SortFields.Clear .SortFields.Add Key:=iColumn1, Order:=xlAscending .SortFields.Add Key:=iColumn2, Order:=xlAscending.Header = xlYes .Apply End With End Sub 

Votre code est maintenant prêt à être exécuté.

Ici,

  • Valeur de la table → Spécifié le nom de la table.
  • TableValue [Nom] -> ; Spécifié le nom de la première colonne de la table à trier.
  • TableValue [Département] -> ; Spécifié le nom de la deuxième colonne de la table à trier.
  • Clé1:=iColonne1 → Spécifié la plage de colonnes pour que le code sache que la première colonne du tableau doit être triée.
  • Clé1:=iColonne2 → Spécifié la plage de colonnes pour que le code sache que la deuxième colonne du tableau doit être triée.
  • Ordre1:=xlAscending → Spécifier la commande comme xlAscending pour trier la colonne dans l'ordre décroissant. Si vous voulez trier la colonne dans l'ordre décroissant alors écrivez xlDescendant à la place.
  • En-tête:= xlOui → Comme les colonnes de ce tableau ont des en-têtes, nous l'avons spécifié avec la balise xlOui option.

  • Exécuter ce code et vous obtiendrez les deux colonnes du tableau triées dans l'ordre croissant.

Lire la suite : Comment trier automatiquement plusieurs colonnes dans Excel (3 façons)

Lectures similaires

  • Comment trier une liste unique dans Excel (10 méthodes utiles)
  • Trier un tableau avec Excel VBA (par ordre croissant et décroissant)
  • Comment trier et filtrer des données dans Excel (Guide complet)
  • Tri automatique dans Excel lorsque les données changent (9 exemples)
  • Tri aléatoire dans Excel (Formules + VBA)

3. implémenter une macro pour trier un tableau par couleur de cellule dans Excel

Vous pouvez également trier un tableau en fonction de la couleur de la cellule qu'il contient.

En prenant pour exemple le tableau ci-dessus, nous allons vous montrer comment le trier en fonction des couleurs qu'il contient.

Des pas :

  • Comme nous l'avons montré précédemment, l'ouverture Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub SortTableColor() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("SortTable") Set iColumn = Range("SortTable[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor) .SortOnValue.Color = RGB(248, 203, 173) .SortFields.Add(Key:=iColumn,Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(255, 217, 102) .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(198, 224, 180) .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(180, 198, 231) .Header = xlYes .Apply End With End Sub 

Votre code est maintenant prêt à être exécuté.

Ici, le RGB codes que nous avons fournis, vous pouvez le trouver ou tout autre RGB le code que vous voulez en suivant le gif donné ci-dessous.

  • Il suffit de cliquer sur le cellule de couleur .
  • Dans le Accueil cliquez sur l'onglet flèche à côté de Fill Color puis sélectionnez Plus de couleurs Vous verrez le RGB codes dans le Personnalisé de l'onglet apparu Couleurs dans la fenêtre pop-up.

  • Exécuter ce code et votre tableau sera triés sur la base des couleurs .

Lire la suite : Comment trier par couleur dans Excel (4 critères)

4. appliquer VBA pour trier un tableau Excel par icône

Supposons que le tableau de l'ensemble de données comporte des icônes pour une meilleure lisibilité. Vous pouvez trier le tableau de l'ensemble de données. tableau basé sur les icônes dans Excel avec VBA macro.

Regardez l'ensemble de données ci-dessus. Ici, le tableau comporte des icônes à côté des valeurs numériques dans la zone de texte. Marks afin que nous puissions comprendre quel élève a de bons, mauvais ou moyens résultats.

Notez que, si vous ne savez pas comment insérer une icône à l'intérieur d'une cellule, vous pouvez simplement le faire avec la fonction Mise en forme conditionnelle dans Excel.

  • Sélectionnez l'ensemble de la plage ou de la colonne.
  • Aller à Mise en forme conditionnelle -> ; Jeux d'icônes Puis choisissez les jeux d'icônes que vous voulez dans l'option.

Étapes à suivre pour trier un tableau en fonction des icônes sont indiqués ci-dessous.

Des pas :

  • Ouvrir Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub SortTableIcon() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("IconTable") Set iColumn = Range("IconTable[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(1) .SortFields.Add(Key:=iColumn,Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(2)   .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(3)   .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(4)   .SortFields.Add(Key:=iColumn,Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(5) .Header = xlYes .Apply End With End Sub 

Votre code est maintenant prêt à être exécuté.

Ici,

  • xl5Flèches -Nous avons choisi le jeu de 5 flèches de l'option dans le Mise en forme conditionnelle .
  • Article (1) -> ; Spécifié le premièrement type d'icône de flèche.
  • Article (2) -> ; Spécifié le deuxième type d'icône de flèche.
  • Article (3) -> ; Spécifié le troisième type d'icône de flèche.
  • Article (4) -> ; Spécifié le quatrième type d'icône de flèche.
  • Article (5) -> ; Spécifié le cinquième type d'icône de flèche.

  • Exécuter ce code et le tableau sera triés sur la base des icônes .

Lire la suite : Comment trier automatiquement un tableau dans Excel (5 méthodes)

Conclusion

Cet article vous a montré comment trier le tableau dans Excel VBA J'espère que cet article vous a été très utile. N'hésitez pas à me demander si vous avez des questions sur le sujet.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.