Voir le flux RSS

Philippe Tulliez

VBA pour Excel - Comment trier une colonne d’un tableau structuré en une ligne d’instruction

Noter ce billet
par , 11/10/2020 à 13h12 (619 Affichages)
Les besoins
  • Nous souhaitons trier une colonne d’un tableau structuré
  • Nous ne savons pas où se trouve ce tableau dans le classeur
  • Nous ne connaissons pas l'adresse de la colonne à trier

Rien de plus simple

La procédure
Tri ascendant de la colonne nommée Pays du tableau structuré nommé T_Test
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Sub SortListObject()
  With Range("T_Test").ListObject
  .DataBodyRange.Sort Key1:=.ListColumns("Pays").DataBodyRange, Order1:=xlAscending, Header:=xlYes
  End With
End Sub
Et bien entendu nous pourrions transformer cette procédure pour la rendre utilisable par plusieurs autres procédures

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Sub SortListObject(TableName As String, ColumnLabel As String, Optional Order As Byte = xlAscending)
  ' Philippe Tulliez (www.magicoffice.be)
  ' Arguments
  '   TableName    Nom de la table
  '   ColumnLabel  Etiquette de la colonne à trier
  '   [Order]      Orde de tri xlAscending(default) ou xlDescending
  Dim oTable As ListObject
  Set oTable = Range(TableName).ListObject
  With oTable
  .DataBodyRange.Sort Key1:=.ListColumns(ColumnLabel).DataBodyRange, Order1:=Order, Header:=xlYes
  End With
End Sub
Exemple d'une procédure qui l'invoque
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Function TestSortListObject()
  SortListObject "T_Test", "Pays", xlDescending
  ' ou
  SortListObject "T_Test", "Pays"
End Function

Nous avions dit une seule ligne ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Sub SortListObject()
  With Range("T_Test").ListObject: DataBodyRange.Sort Key1:=.ListColumns("Pays").DataBodyRange, Order1:=xlAscending, Header:=xlYes: End With
End Sub

Envoyer le billet « VBA pour Excel - Comment trier une colonne d’un tableau structuré en une ligne d’instruction » dans le blog Viadeo Envoyer le billet « VBA pour Excel - Comment trier une colonne d’un tableau structuré en une ligne d’instruction » dans le blog Twitter Envoyer le billet « VBA pour Excel - Comment trier une colonne d’un tableau structuré en une ligne d’instruction » dans le blog Google Envoyer le billet « VBA pour Excel - Comment trier une colonne d’un tableau structuré en une ligne d’instruction » dans le blog Facebook Envoyer le billet « VBA pour Excel - Comment trier une colonne d’un tableau structuré en une ligne d’instruction » dans le blog Digg Envoyer le billet « VBA pour Excel - Comment trier une colonne d’un tableau structuré en une ligne d’instruction » dans le blog Delicious Envoyer le billet « VBA pour Excel - Comment trier une colonne d’un tableau structuré en une ligne d’instruction » dans le blog MySpace Envoyer le billet « VBA pour Excel - Comment trier une colonne d’un tableau structuré en une ligne d’instruction » dans le blog Yahoo

Catégories
VBA Excel

Commentaires