[VBA/Excel] macro ordre alphabétique [Résolu/Fermé]

Messages postés
34
Date d'inscription
vendredi 24 juillet 2009
Statut
Membre
Dernière intervention
12 juillet 2011
-
Bonjour,

j'aimerais savoir si il existe une macro sur Excel permettant de classer par ordre alphabétique un tableau en fonction d'une colonne particulière svp.

J'ai essayé en utilisant "enregistrer une macro" et en le faisant à la souris, mais je ne vois pas quoi changer pour obtenir ce que je veux..

Voici le code obtenu :

Sub ordre_alpha()     
'     
' ordre_alpha Macro     
'     

'     
    Range("A1:K18").Select     
    ActiveWorkbook.Worksheets("Mars").Sort.SortFields.Clear     
    ActiveWorkbook.Worksheets("Mars").Sort.SortFields.Add Key:=Range("B2:B18"), _     
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal     
    With ActiveWorkbook.Worksheets("Mars").Sort     
        .SetRange Range("A1:K18")     
        .Header = xlYes     
        .MatchCase = False     
        .Orientation = xlTopToBottom     
        .SortMethod = xlPinYin     
        .Apply     
    End With     
End Sub



Mars étant le nom de la feuille actuelle, mais vu que la feuille peut changer à tout moment il me faudrait un truc du style activesheets. Et la taille du tableau étant elle même variable il faudrait un Range qui sélectionne tout le tableau de la page.

J'ai essayé ce code :

Sub Macro3() 
' 
' Macro3 Macro 
' 
' 
    nbc = UsedRange.Columns.Count 
    nbl = UsedRange.Rows.Count 
    UsedRange.Columns.Count.Select 
    ActiveWorkbook.ActiveSheet.Sort.sortfiels.Clear 
    ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("B2:nbl"), _
         SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets.ActiveSheet.Sort 
        .SetRange Range("nbl:nbc") 
        .Header = xlYes 
        .MatchCase = False 
        .Orientation = xlTopToBottom 
        .SortMethod = xlPinYin 
        .Apply 
    End With 

End Sub 

Mais il ne marche pas et je n'arrive pas vraiment à voir où se trouve l'erreur...


Merci à ceux qui pourront m'aider :)
Cordialement

StyveA

Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
1270
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
15 mai 2017
498
13
Merci
Bonjour,

Sub TriAlpha()
Range("A1:Z1000").Sort Key1:=Range("B1"), Order1:=xlAscending
End Sub

Cette macro trie par ordre alpha sur la colonne B dans la plage A1:Z1000 (peut bien sur être adapté).

Bonne journée.

Dire « Merci » 13

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 64120 internautes nous ont dit merci ce mois-ci

styvea
Messages postés
34
Date d'inscription
vendredi 24 juillet 2009
Statut
Membre
Dernière intervention
12 juillet 2011
2 -
Oo ça fait court par rapport à ce que j'ai sorti lol...

Merci beaucoup, j'essaye ça de suite !
(ça le fera je suppose sur la feuille en cours?