Tri automatique vers le haut suivant dates d'échéances

Bonjour, le forum,

Je fais appel à votre savoir pour améliorer le fichier ci-joint.

Actuellement je modifie le tri en changeant les priorités de la colonne A suivant ma date d'échéance en colonne E.

Je souhaiterai savoir si il est possible, au lieu d'avoir des priorités en A que l'on change manuellement, on puisse avoir des délais de traitement du sujet avant échéance automatique, par exemple :

  • 3 jours avant la date fixée en colonne E = urgent, se fixe automatiquement en haut du tableau
  • 1 semaine avant
  • 15 jours avant
  • 1 mois avant, 3 mois, 6 mois, 1 an

ainsi une ligne avec une date (en E) et un délais (en A) de traitement pourrait monter en haut du tableau automatiquement suivant la date d'ouverture de celui-ci.

Je suis désolé si je ne suis pas suffisamment clair dans ma requête, j'ai cherché à modifier le code existant mais sans succès à ce jour.

Je vous remercie par avance de toute aide ou idée apportée, en vous souhaitant à toutes et à tous une bonne fin d'année et que la suivante vous soit meilleure.

Cordialement,

Yannick

202dolist.xlsm (62.42 Ko)

Bonjour

Un tableau vide n'illustre pas grand-chose...

Utilise une formule basée sur la date pour la priorité et non une liste déroulante

Bonjour 78chris,

merci d'avoir pris le temps de répondre.

Voici le tableau avec des données...

102dolist-st-ehl.xlsm (63.96 Ko)

J'ai essayé, en effet, de travailler en ce sens mais je n'arrive pas à modifier le code pour qu'il prenne en considération la date indiquée en E.

Cordialement

RE

J'ai essayé, en effet, de travailler en ce sens mais je n'arrive pas à modifier le code pour qu'il prenne en considération la date indiquée en E.

J'ai parlé de formules : il faudrait définir chaque niveau d'urgence par rapport à la date et/ou colonne afin que l'on puisse définir les formules

bon

232dolist-st-ehl.xlsm (93.76 Ko)

soir,

comme çà ?

Bonjour BsAlv,

merci de ton intérêt pour mon problème.

Je n'arrive pas à voir ton fichier car cette erreur en bloque le fonctionnement :

capture

Bonne année à tous

Merci encore, cordialement

Bonjour BsAlv,

j'ai réussi à ouvrir votre fichier et c'est bien comme ça que j'imaginé l'amélioration.

Par contre, le tri automatique des lignes suivant le degré d'urgence à les traiter ne se fait plus. Est-il possible de réactiver cette fonction, pour que les données a traiter en premier se mettent en haut du tableau automatiquement suivant la colonne A ?

122dolist-st-ehl.xlsm (86.73 Ko)

Cordialement,

re,

si on trie les dates (colonne E), on a déjà fait la plupart.

Sub TriTableau()
     Dim aPrio, iPrio, aEtat, iEtat

     aPrio = Application.Transpose(Range("Tbl_Prio").Columns(2))    'triage comme colonne 2 du tableau TBL_Prio
     Application.AddCustomList ListArray:=aPrio     'ajouter au customlist
     iPrio = Application.GetCustomListNum(ListArray:=aPrio)     'numéro dans ce customlist

     aEtat = Application.Transpose(Sheets("valeurs").Range("B2:B6"))     'triage comme colonne etat
     Application.AddCustomList ListArray:=aEtat
     iEtat = Application.GetCustomListNum(ListArray:=aEtat)

     With Worksheets("To Do List").ListObjects("CbProjets")     '.Range
          With .Sort
               With .SortFields
                    .Clear
                    .Add2 Key:=Range("CbProjets[DATE Pour/Fin REALISATION]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal         'dates ascendant
                    .Add2 Key:=Range("CbProjets[PRIORITE]"), SortOn:=xlSortOnValues, Order:=xlDescending, CustomOrder:=iPrio, DataOption:=xlSortNormal        'prio custom
                    .Add2 Key:=Range("CbProjets[[ETAT ]]"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:=iEtat, DataOption:=xlSortNormal     'état custom
               End With
               .Header = xlYes
               .MatchCase = False
               .Orientation = xlTopToBottom
               .SortMethod = xlPinYin
               .Apply
          End With
     End With
     End
     Application.DeleteCustomList iPrio
     Application.DeleteCustomList iEtat
End Sub

Alors là, vous m'avez complètement perdu j'ai une erreur 438 et je ne comprends plus l'imbrication des différentes actions dans le code...

Vraiment désolé de ne pas avoir le niveau pour suivre l'évolution

capture

chez moi, ça fonctionne ??? Votre version est encore 2010 ?

et comme cà ?

Bonjour BsAlv,

merci pour autant d'implication dans ce sujet de votre part

Non, j'ai toujours la même erreur 438, je suis en réseau sous Excel 2016. Dès que je change la date ou que j'insère une date en clique droit j'ai cette erreur et le tri ne se fait pas.

Merci encore pour votre aide,

Cordialement,

Yannick

re,

cette erreur était dans mon fichier ou le vôtre ?

et de cette manière ?

Sub TriTableau()
     With Worksheets("To Do List").ListObjects("CbProjets").Range
          .Sort .Range("E1"), xlAscending, , .Range("F1"), Header:=xlYes
          .EntireRow.AutoFit
     End With
End Sub

J'ai l'erreur dans votre dernier fichier dès que je change ou j'insère une date via le calendrier ou manuellement :

capture capture2

si j'ignore l'erreur, le tri ne se fait pas.

Fichier avec l'erreur :

Je n'ai pas cette erreur sur mon fichier d'origine.

Fichier sans l'erreur :

132dolist-st-ehl.xlsm (63.96 Ko)

Cordialement,

les 2 fonctionnent avec mon excel365 ?!?

alors comme çà ... (s'il n'y a pas de date en E, le valeur en A = "zzz" en police gris

Bonjour BsAlv,

votre fichier fonctionne chez moi !

Quelle était la problématique, que je comprenne ?

Merci encore pour votre aide précieuse !

Cordialement,

re,

je ne le sais pas, un conflit entre les différentes versions d'excel ?

Bonjour à tous,

je me permets de vous relancer sur ce sujet...

J'ai ajouter à mon classeur une donnée de "Prévenance" (feuille todolist colonne E), je souhaiterai que le tri en tienne compte :

Date en colonne F - aujourd'hui - la prévenance en jours en colonne E

Certaines taches sont longues à traiter, par exemple une tache à réaliser en juin pourrait être à traiter avant celle de février car plus longue à réaliser.

Comment modifier la formule en colonne A : =SI([@[DATE Pour/Fin REALISATION]]>0;RECHERCHEV([@[DATE Pour/Fin REALISATION]]-AUJOURDHUI();TBL_Prio;2;1);"zzz") pour que cette nouvelle donnée soit pris en compte ??

Merci par avance pour toutes aides ou idées apportées,

Cordialement,

122dolistv2.xlsm (72.38 Ko)
Rechercher des sujets similaires à "tri automatique haut suivant dates echeances"