[VBA/Excel] macro ordre alphabétique
Résolu
styvea
Messages postés
34
Date d'inscription
Statut
Membre
Dernière intervention
-
styvea Messages postés 34 Date d'inscription Statut Membre Dernière intervention -
styvea Messages postés 34 Date d'inscription Statut Membre Dernière intervention -
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 :
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 :
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
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
Merci beaucoup, j'essaye ça de suite !
(ça le fera je suppose sur la feuille en cours?