VBA : tri sur plusieurs colonnes d'un tableau dynamique à plusieurs dimensions

LUDWIG

XLDnaute Nouveau
Bonjour à tous,

J'ai trouvé des tutoriaux vba excel présentant la procédure pour trier des tableaux dynamiques, mais ceux ci n'avaient qu'une dimension et n'étaient triés que sur une colonne.

Exemple de tableau
C1 C2 C3
L1 2 5 7
L2 1 4 3
L3 2 4 8
L4 2 4 9

J'aimerais pouvoir trier mes lignes L1 à L4 par C1 croissant puis par C2 décroissant puis par C3 croissant de sorte d'obtenir cet ordre :

C1 C2 C3
L1 1 4 3
L2 2 5 7
L3 2 4 8
L4 2 4 9

Comment puis-je procéder ?

Merci d'avance !
 

Dbordes

XLDnaute Nouveau
Re : VBA : tri sur plusieurs colonnes d'un tableau dynamique à plusieurs dimensions

Bonjour Ludwig,

Moi j'ai essayé avec l'enregistreur de macro et ca marche bien

Sub Tri()

Range("A1:D5").Select 'sélection de la zone - à adapter
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("C2") _
, Order2:=xlDescending, Key3:=Range("D2"), Order3:=xlAscending, Header _
:=xlGuess, OrderCustom:=1
'n° lignes et colonnes à adapter

End Sub


j'espère que ca fonctionnera pour toi.
Par contre, je n'ai jamais réussi à faire un tri sur > 3 critères

cdt,
Dbordes
 

LUDWIG

XLDnaute Nouveau
Re : VBA : tri sur plusieurs colonnes d'un tableau dynamique à plusieurs dimensions

Merci, mais données sont dans une variable VBA de type tableaux et non dans des cellules.
Je ne souhaite pas avoir à coller mes données dans une feuille de calcul, les trier puis les récupérer, sauf si je n'ai pas le choix.
 

Discussions similaires

Statistiques des forums

Discussions
312 176
Messages
2 085 967
Membres
103 070
dernier inscrit
jujulop