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 beaucoup, j'essaye ça de suite !
(ça le fera je suppose sur la feuille en cours?