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 -
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 !

1 réponse

Gyrus Messages postés 3360 Statut Membre 526
 
Bonjour,

L'enregistreur de macro a été fait pour toi.
https://www.commentcamarche.net/contents/1374-macros-comment-les-creer

A+
1
mike the llama Messages postés 361 Statut Membre 9
 
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 ?
0
Gyrus Messages postés 3360 Statut Membre 526
 
Tu peux regarder les plages associées aux tris dans ta macro.
(Macro > Modifier)

A+
0
mike the llama Messages postés 361 Statut Membre 9 > Gyrus Messages postés 3360 Statut Membre
 
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
0
Gyrus Messages postés 3360 Statut Membre 526 > mike the llama Messages postés 361 Statut Membre
 
La plage étant bien définie, il te reste à voir la structure de la feuille et le filtrage.
Difficile d'en dire plus sans voir le fichier.

A+
0
mike the llama Messages postés 361 Statut Membre 9 > Gyrus Messages postés 3360 Statut Membre
 
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 !

++
0