Sauvegarder ordre de tri personnalisé
Résolu
mike the llama
Messages postés
361
Statut
Membre
-
mike the llama Messages postés 361 Statut Membre -
mike the llama Messages postés 361 Statut Membre -
Bonjour,
Je travaille sur un tableau Excel 2013 comportant de nombreuses lignes et colonnes.
J'ai souvent besoin de changer l'ordre de tri des lignes pour une meilleure visualisation, en sachant que je fais se succéder jusqu'à 7 niveaux dans la demande de tri.
Est-il possible de sauvegarder ces différents modes de tri ? Car je perds un temps considérable pour chaque fois indiquer quelle combinaison de niveaux je souhaite voir apparaître au niveau du tri...
Bien à vous tous !
Je travaille sur un tableau Excel 2013 comportant de nombreuses lignes et colonnes.
J'ai souvent besoin de changer l'ordre de tri des lignes pour une meilleure visualisation, en sachant que je fais se succéder jusqu'à 7 niveaux dans la demande de tri.
Est-il possible de sauvegarder ces différents modes de tri ? Car je perds un temps considérable pour chaque fois indiquer quelle combinaison de niveaux je souhaite voir apparaître au niveau du tri...
Bien à vous tous !
1 réponse
-
Bonjour,
L'enregistreur de macro a été fait pour toi.
https://www.commentcamarche.net/contents/1374-macros-comment-les-creer
A+-
Bonjour Gyrus,
Merci pour cette solution !
J'ai réussi à créer ma macro qui marche nickel, sauf qu'elle n'agit "curieusement" (enfin pur moi) pas sur les lignes 4 et 5 de ma feuille Excel, quelles qu'elles soient (les lignes 1, 2 et 3 étant réservées aux titres).
Aurais-tu une idée d'où pourrait venir le problème ? -
- Oui, j'y avais jeté un coup d'oeil, mais pour ce que j'en comprends, je n'y vois rien de suspect, il me semble qu'Excel est bien censé travailler sur la plage "A4:A207", or la macro ne porte dans les faits que sur la plage "A6:A207"... :
' Trie la feuille "suivi global" de la manière la plus lisible qui soit. Raccourci = CTL+SHIFT+M.
'
' Touche de raccourci du clavier: Ctrl+Shift+M
'
ActiveWorkbook.Worksheets("suivi_global").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("suivi_global").AutoFilter.Sort.SortFields.Add Key _
:=Range("A4:A207"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("suivi_global").AutoFilter.Sort.SortFields.Add Key _
:=Range("CO4:CO207"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("suivi_global").AutoFilter.Sort.SortFields.Add Key _
:=Range("CJ4:CJ207"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("suivi_global").AutoFilter.Sort.SortFields.Add Key _
:=Range("AS4:AS207"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("suivi_global").AutoFilter.Sort.SortFields.Add Key _
:=Range("AD4:AD207"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("suivi_global").AutoFilter.Sort.SortFields.Add Key _
:=Range("N4:N207"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("suivi_global").AutoFilter.Sort.SortFields.Add Key _
:=Range("B4:B207"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("suivi_global").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub - Problème résolu, ou plutôt pallié !
=> Le simple fait de passer ma cellule A1 en mode "filtrer par l'icône de la cellule sélectionnée" permet de faire en sorte que la macro s'applique sur tout la plage...
Je ne suis pas sûr que cette solution soit très orthodoxe, mais c'est déjà pas mal ;)
Merci beaucoup pour ton aide, Gyrus !
++
-