Autres Commande SORT dans VBA

FOUQUET Yves

XLDnaute Occasionnel
Bonjour à toutes et tous,
Je viens chercher une aide toujours précieuse.
J'ai une feuille avec une liste de nom:
- colonne A = nom
- colonne B = prénom
- colonne C = adresse
...
Cerfa_list est le nom de ma feuille.

Je sais faire en VBA un trie sur une colonne A de ligne 1, avec ces lignes de code:
With Sheets("Cerfa_list")
.[A:C].Sort .[a1], xlAscending, Header:=xlYes
End With

mais pas un double trie comme on peut le faire dans Excel en ajoutant un niveeau de trie.
Je voudrais également trier le premier rendu sur colonne A, avec le prénom en colonne B afin d'obtenir une liste
triée par nom et chaque nom trié par prénom.


Voilà, si quelqu'un a la solution, je lui exprimerai toute ma gratitude car cela fait quelques jours que je cherche en vain.
Merci d'avance.
Yves
 

Staple1600

XLDnaute Barbatruc
Bonjour @FOUQUET Yves , le fil,

@FOUQUET Yves
Pour le fun et en guise d'échauffement pour mon VBE en ce dimanche matin frisquet ;)

Un petite procédure de tri paramétrable
(ici avec deux exemples de tri)
VB:
Sub t_asc()
Dim p As Range
Set p = Range("A1:C7")
tri p, xlYes, xlAscending, xlAscending
End Sub
Sub t_desc_light()
Dim p As Range
Set p = Range("A1:C7"): tri p, 1, 2, 2
End Sub
Private Sub tri(p As Range, titre As XlYesNoGuess, sA As XlSortOrder, sB As XlSortOrder)
p.Sort Key1:=p(1)(1), Key2:=p(2)(1), Header:=titre, Order1:=sA, Order2:=sB
End Sub

Ci-dessous données pour tester
nomprénomadresse
marcsophiea4
marcalaina3
jeanmarca1
jeanisabellea2
azorregisa5
azorelisaa6
 

FOUQUET Yves

XLDnaute Occasionnel
Bonjour @FOUQUET Yves , le fil,

@FOUQUET Yves
Pour le fun et en guise d'échauffement pour mon VBE en ce dimanche matin frisquet ;)

Un petite procédure de tri paramétrable
(ici avec deux exemples de tri)
VB:
Sub t_asc()
Dim p As Range
Set p = Range("A1:C7")
tri p, xlYes, xlAscending, xlAscending
End Sub
Sub t_desc_light()
Dim p As Range
Set p = Range("A1:C7"): tri p, 1, 2, 2
End Sub
Private Sub tri(p As Range, titre As XlYesNoGuess, sA As XlSortOrder, sB As XlSortOrder)
p.Sort Key1:=p(1)(1), Key2:=p(2)(1), Header:=titre, Order1:=sA, Order2:=sB
End Sub

Ci-dessous données pour tester
nomprénomadresse
marcsophiea4
marcalaina3
jeanmarca1
jeanisabellea2
azorregisa5
azorelisaa6
Merci beaucoup de l'aide.
Bonne journée.
 

Discussions similaires

Statistiques des forums

Discussions
314 493
Messages
2 110 197
Membres
110 703
dernier inscrit
papysurf