Tri automatique avec liste de tri personnalisée

Résolu
oli_jean9 Messages postés 4 Statut Membre -  
oli_jean9 Messages postés 4 Statut Membre -
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

  1. Gyrus Messages postés 3360 Statut Membre 526
     
    Bonjour,

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

    A+
    1
    1. oli_jean9 Messages postés 4 Statut Membre
       
      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
      1. Gyrus Messages postés 3360 Statut Membre 526 > oli_jean9 Messages postés 4 Statut Membre
         
        il faudrait que tu montres ta macro.

        A+
        0
    2. oli_jean9 Messages postés 4 Statut Membre
       
      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
    3. oli_jean9 Messages postés 4 Statut Membre
       
      Merci je viens de réussir!!
      0