Tri automatique avec liste de tri personnalisée

Résolu
oli_jean9 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
oli_jean9 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'utilise Excel 2016 et je veux trier automatiquement un tableau selon une colonne qui contient différent "STATUT" en lien avec chaque lignes. J'ai déjà fait une liste de tri personnalisée qui me permet de trier ces "STATUT" selon l'ordre désiré, mais j'aimerais que ce tri s'effectue automatiquement lorsque j'ajoute de nouvelles lignes ou modifie un information. Je sais que je dois utiliser une macro VBA et j'ai trouvé des solutions pour classer en ordre croissant ou décroissant, mais je n'ai pas trouvé comment le faire avec une liste personnalisée. Si possible, j'aimerais peut-être même ajouter une second niveau de tri. Le premier tri serais donc ma liste personnalisée pour une colonne "X" et un second tri alphabétique sur une colonne "Y".

Merci de bien vouloir m'aider...

Olivier Jean

2 réponses

Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

As-tu essayé d'utiliser l'enregistreur de macros pour obtenir le code correspondant à ton tri ?

A+
1
oli_jean9 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Je viens tout juste de l'essayer...je réussi à enregistrer et exécuter ma macro en allant dans l'onglet développeur/Macros et j'Exécute ma macro que j'ai préalablement enregistrée, mais je sais pas comment faire pour que cela se fasse dès que je change un info ou double clique une cellule...
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526 > oli_jean9 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
il faudrait que tu montres ta macro.

A+
0
oli_jean9 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Sub TRI()
'
' TRI Macro
' Tri automatique
'

'
Range("B10:L26").Select
ActiveWorkbook.Worksheets("CÉDULE").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("CÉDULE").Sort.SortFields.Add Key:=Range("E10:E26") _
, SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
"NON-AUTORISÉ,AUTORISÉ,CHEMINS EN COURS,PRÊT POUR RÉCOLTE,RÉCOLTE EN COURS,FINI ATT. INVENTAIRES,FERMETURE EN COURS,FERMÉ" _
, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("CÉDULE").Sort.SortFields.Add Key:=Range("D10:D26") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("CÉDULE").Sort
.SetRange Range("B10:L26")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
0
oli_jean9 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci je viens de réussir!!
0