Ajout d'un délai de prévenance à un tri automatique

142dolistv2.xlsm (72.38 Ko)

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 et devrait pouvoir monter en haut de la feuille pour être plus visible.

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,

Bonjour,

Plutôt que de mettre le texte extrait du tableau "TBL_Prio" en colonne A, mieux vaut mettre la valeur des jours du tableau "TBL_Prio", votre formule devient:

=SI(CbProjets[[#Cette ligne];[DATE Pour/Fin REALISATION]]>0;RECHERCHEV(CbProjets[[#Cette ligne];[DATE Pour/Fin REALISATION]]-AUJOURDHUI();TBL_Prio;1;1-PRE);"zzz")

A partir de là, vous pouvez faire le tri que vous voulez.

Cdlt

bonjour Arturo83, YannickB19,

=SI([@[DATE Pour/Fin REALISATION]]>0;RECHERCHEV([@[DATE Pour/Fin REALISATION]]-AUJOURDHUI()-[@PREVENANCE];TBL_Prio;2;1);"zzz")
142dolistv2-2.xlsm (72.84 Ko)

Bonjour Arturo83,

Bonjour BsAlv,

merci de vous pencher sur mon problème. J'ai essayer les 2 méthodes proposées mais sans succès, le tri ne se fait pas correctement.

Par exemple, la ligne 9, avec un délai de prévenance à 60 jours devrait être en premier ou la ligne 5 avec un délai de 28 jours (ce qui ramènerai la date de traitement au 3/02) devrait être en haut aussi, etc...

J'ai tester plusieurs méthodes mais rien n'y fait, le tri ne tient pas compte correctement de la prévenance et par conséquence de la modification de la date de fin

Merci encore de bien vouloir m'aider :)

peut-être comme ça ?

232dolistv2-2.xlsm (73.79 Ko)

Bonjour BsAlv,

oui, c'est exactement ça par contre, sauf à enregistrer une nouvelle ligne (ou clique droit trier), le tri automatique ne se fait pas quand on rentre la donnée "prévenance".

Que faut-il modifier dans le vba pour réactiver cette fonction après avoir renseigner une cellule E ?

Bien cordialement,

Yannick

comme ca ?

182dolistv2-2.xlsm (72.69 Ko)

Merci BsAlv,

c'est parfait !

Bonjour le forum,

Bonjour BsAlv,

J'ai remarqué en remplissant le tableau que certaines lignes (indiqué en rouge en colonne I) ne prenaient pas en compte le tri et que certaines lignes ne se mettaient pas en hauteur automatique (ex ligne 131)(ce qui est gênant quand il y a plusieurs personnes impliquées dans une action, on n'en voit qu'une) (je ne sais pas si cela a un rapport avec le tri).

Pourriez-vous regarder si vous arrivez à identifier la source du ou des problèmes?

Bien cordialement, en vous remerciant de votre implication,

Yannick

162dolistv3.xlsm (96.91 Ko)

re,

le classement est assez difficile, c'est pourquoi je l'ai modifié en périodes = le passé est -1, puis de 1 à 9 jours, c'est en jours, de 10 à 69 jours, c'est en semaines, de 70 à 365 jours, c'est en mois et puis, c'est plus qu'un an.

Le MFC se multiplie aussi autant de fois, donc maintenant les MFC de la ligne 2 est le plus important et se copie sur le reste du tabeau.

112dolistv3-1.xlsm (105.13 Ko)

Bonjour BsAlv et merci de vous pencher à nouveau sur ce classeur

Certaines lignes semblent toujours récalcitrantes à prendre en compte le tri (lignes 135, 136, 159) et je ne comprends pas pourquoi les lignes de 2 à 84 restent bloquées en bleu (ligne 12 en violet) et ça même si on applique un état (donc une mfc) ??

Merci encore de votre aide précieuse,

Cordialement

re,

vous ne voulez pas grouper les résultats dans la colonne A, vous voulez les résultats non-arrondi !

Et pour les MFC, il y avait quelque avec des références vers la feuille "Terminé"

172dolistv3-1.xlsm (101.19 Ko)

Bonjour BsAlv,

après quelques test, vos modifications ont l'air de fonctionner parfaitement bien

Je n'ai pas compris, qu'est-ce qu'un résultat "non arrondi" ?

Merci encore pour votre aide précieuse.

Cordialement,

Yannick

Une dernière question.. quand je rentre un délai de prévenance, la ligne est sélectionnée comme pour une copie, est-ce normal ? et les mfc semblent se copier à l'infini dans la feuille "terminée" ?

Merci de contribuer à mon savoir

re,

non-arrondi : le résultat dans la colonne A = DATE Pour/Fin REALISATION - DATE Pour/Fin REALISATION - aujourd'hui. Cela donne un integer, qui est en cas négative limité à -1. Dans mes réactions précédentes, j'essayais à mettre ces résultats dans les 7 catégories de la feuille "Valeurs" H2:H8, mais le résultat était trop général (voir votre remarque des lignes 135, 136, 159), donc maintenant vous voyez un chiffre dans la colonne A. "Arrondi" était une faux expression, auparavant non classé.

Je n'ai pas touché à la feuille "Terminées", mais en utilisant VBA pour copier&coller ou insérer des lignes, le nombre de MFC se multiplie ! So on demande tous les MFCs de cette feuille, on voit des dixaines avec beaucoup de duplicates !
La 2ième partie de la macro "TriTableau" gère ce problème pour la feuille "To Do List" et cela est directement la réponse à l'autre question "la ligne est sélectionnée comme pour une copie" , oui, là, on copie les MFCs et on les colle sur le reste du tableau.

Pour simplifier les MFCS de "Terminées", je vous propose cette macro (et les 2 dernieres lignes, vous pouvez les ajouter à la macro "TriTableau" aussi). Le résutat sera une dixaine de MFCs avec encore quelque duplicates MFCs, que vous devez supprimer manuellement.

Sub MFC_Terminé()
     With Worksheets("Terminées").Range("A1").CurrentRegion     'vos données
          If .Rows.Count > 2 Then
               .Offset(2).Resize(.Rows.Count).FormatConditions.Delete     'supprimer tous les MFCs à partir de la ligne 3
               .Offset(1).Resize(1).Copy     'copier les MFCs de la ligne 2
               .Offset(1).PasteSpecial xlPasteFormats     'coller sur le reste de la plage
          End If
     End With

     Application.CutCopyMode = False     'pour éviter cette "sélection de copie"
     ActiveCell.Select
End Sub

si j'ajoute cette ligne

.CurrentRegion.FormatConditions.Delete

à votre code :

Sub MFC_Terminé()
     With Worksheets("Terminées").Range("A1").CurrentRegion     'vos données
          If .Rows.Count > 2 Then
               .Offset(2).Resize(.Rows.Count).FormatConditions.Delete     'supprimer tous les MFCs à partir de la ligne 3
               .Offset(1).Resize(1).Copy     'copier les MFCs de la ligne 2
               .Offset(1).PasteSpecial xlPasteFormats     'coller sur le reste de la plage
               .CurrentRegion.FormatConditions.Delete
          End If
     End With

     Application.CutCopyMode = False     'pour éviter cette "sélection de copie"
     ActiveCell.Select
End Sub

Les MFC de la feuille "Terminée" sont-elles dans ce cas supprimées ? Car dans cette feuilles les MFD n'ont aucuns intérêts.

j'ai essayé les 2 lignes du code pour éviter la sélection de copie mais cela perturbe le tri.

re,

en PJ les modifs.

Si les MFCs de terminées ne vous intéressent plus, c'est suffisant de supprimer tous les MFCs avec

Sub MFC_Terminé()
     Worksheets("Terminées").UsedRange.FormatConditions.Delete
  End Sub

Alors ce n'est plus nécessaire de copier&coller tout, les valeurs àa suffit avec ceci dans le change-event

              Rows(Target.Row).Copy
               Sheets("Terminées").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlValues  '>>> copier et coller les valeurs sans MFC **************************
               Rows(Target.Row).Delete Shift:=xlUp

Vous pouvez aussi rien changer dans cette change-macro et lancer de temps en temps cette MFC_Terminé-macro

la Macro "TriTableau" avec ces 2 lignes voir PJ.

172dolistv3-1-2.xlsm (79.85 Ko)

Bonjour BsAlv,

merci pour toutes ces explications, j'espère, à l'avenir, grâce à votre patience être un peu plus autonome dans la construction vba d'un fichier excel

Encore merci !

Rechercher des sujets similaires à "ajout delai prevenance tri automatique"