Microsoft 365 Comment associer des listes de tâches en fonction de diverses dates (listes en cascades ou formules ?)

thelissr

XLDnaute Nouveau
Bonjour cher forum,
Je me brûle les neurones depuis des jours à essayer plein de formules, même du vba mais je m'y perds.
Je crois que je veux faire trop compliqué !!
Alors si certains d'entre vous savent comment faire les choses simplement, je prends vos conseils ;).

J'ai un fichier Excel qui comporte des listes de taches. Et des informations calendaires ( soir/nuit, jour de la semaine, semaine dans le mois, mois de l'année).
J'aimerais que les listes de tâches soient reliées aux listes calendaires afin que les utilisateurs du fichier sachent ce qu'ils ont a faire en fonction du calendrier (certaines tâches ont lieu tous les jours, d'autres tâches sont exclusivement les 1er lundi et 1er mardi du mois, d'autres taches ont lieu uniquement en septembre+octobre...). Evidemment des taches peuvent se cumuler si on est le 1er lundi du mois, ET en septembre par exemple...

= dois-je créer plusieurs lignes Excel afin de faire apparaître les listes de taches sur différentes lignes, selon tous les critères qui auront été choisis ? (mes résultats ne seraient pas cumulatifs mais incrémentaux )
ou
= Puis-je créer une seule ligne de tâches qui regrouperaient l'ensemble des critères sélectionnés ( liste en cascade ?)

Je vous précise mes demandes :
1re exemple : si je sélectionne le jeudi, alors la tache 1 va apparaître. (cas simple, je pensais utiliser une formule =SI)
2ème exemple : si je sélectionne le 1er lundi du mois et le 1er mardi du mois, alors la tache 2 va apparaître.
3ème exemple : si je sélectionne le jeudi + le mois de décembre, alors la tache 3 va apparaître (cette tache 3 serait le cumul de la tache 1 ET d'une autre tache).

C'est pas simple à expliquer, comme je vous disais je pense faire trop compliqué...o_O !!!
Alors merci d'avance aux âmes charitables et pragmatiques qui m'aideront !
 

Pièces jointes

  • TEST FORMULES FREQUENCE.xlsm
    48 KB · Affichages: 13

Dugenou

XLDnaute Barbatruc
Bonjour,
Je pense qu'il sera plus simple de créer une liste de tache pour chaque choix du calendrier : liste pour le jour, une liste pour la semaine etc.
Il manque dans tes données ces données de liste des taches en fonction de la date
Cordialement
 

thelissr

XLDnaute Nouveau
Bonjour,
Je pense qu'il sera plus simple de créer une liste de tache pour chaque choix du calendrier : liste pour le jour, une liste pour la semaine etc.
Il manque dans tes données ces données de liste des taches en fonction de la date
Cordialement

Bonjour, et merci Dugenou,
Oui, je n'ai pas encore associé les listes de taches en fonction de la date, ne sachant pas comment les relier les unes aux autres. Pour l'instant je n'ai que des listes orphelines.
Je réfléchi pour savoir comment faire apparaître dans mon formulaire Excel uniquement les listes associées à la date choisie :
- une 1ère ligne pour la tache associée au lundi
- une 2eme ligne pour la tache associée au mois de septembre
- une 3ème ligne pour la tache associée au soir
...
Une liste en cascade avec =INDIRECT() devrait faire l'affaire, qu'en pensez-vous ?
Bonne journée
 

Dugenou

XLDnaute Barbatruc
Bonjour,
INDIRECT peut s'utiliser pour des listes en cascade en effet, et cela permet d'obtenir un résultat à partir de plusieurs choix qui s'enchainent. Mais pour ce que je comprends, vous voulez obtenir 3 résultats pour 3 choix, donc il me semble que du rechercheV ou Index pourrait suffire.
Essayez de monter deux ou 3 listes de queqlues items pour qu'on se fasse une idée plus précise du résultat à obtenir et de la méthode à utiliser.

Cordialement
 

thelissr

XLDnaute Nouveau
Bonjour,
INDIRECT peut s'utiliser pour des listes en cascade en effet, et cela permet d'obtenir un résultat à partir de plusieurs choix qui s'enchainent. Mais pour ce que je comprends, vous voulez obtenir 3 résultats pour 3 choix, donc il me semble que du rechercheV ou Index pourrait suffire.
Essayez de monter deux ou 3 listes de queqlues items pour qu'on se fasse une idée plus précise du résultat à obtenir et de la méthode à utiliser.

Cordialement

Oui je comprends. Plus je passe du temps sur ce document et plus il me désespère ! Je vous poste ci-dessous le fichier avec l'onglet "liste & taches". J'y ai mis un tableau récapitulatif, et les listes complètes. Je vous remercie de vos éclaircissements ! Bon week-end :)
 

Pièces jointes

  • TEST FORMULES FREQUENCE.xlsm
    57.4 KB · Affichages: 7

Dugenou

XLDnaute Barbatruc
Bonjour,
Un essai pour voir si je suis dans le vrai. La formule Si à rallonge pourra être améliorée, peut être même supprimée si on utilise le tableau des taches refait avec du index en concaténant jour et période. En fait tout peut être plus simple et concis, c'est juste pour voir si je vous ai compris.

Cordialement
 

Pièces jointes

  • thelissr.xlsm
    93.8 KB · Affichages: 14

thelissr

XLDnaute Nouveau
Bonjour,
Un essai pour voir si je suis dans le vrai. La formule Si à rallonge pourra être améliorée, peut être même supprimée si on utilise le tableau des taches refait avec du index en concaténant jour et période. En fait tout peut être plus simple et concis, c'est juste pour voir si je vous ai compris.

Cordialement
Bonjour, oui c'est exactement ça ! J'apprécie le temps que vous y avez passé, je crois que j'aurais commis des erreurs sur la formule écrite, vraiment trop longue pour mes capacités de rédaction Excel... Je vais prendre le temps de décomposer cette formule afin de bien la comprendre maintenant. Merci
Bon week-end
 

Laurent78

XLDnaute Occasionnel
Re,

Ci-joint un pseudo exemple fait avec MSQuery (mais qui ne fonctionne pas correctement parce que je vais chercher les données dans le même classeur et MSQuery n'aime pas trop ça)
MSQuery permet un passage de paramètre plus simple, mais est devenu un outils obsolète
Il faut préférer Power Query

Bref, pour en revenir au sujet initial, dans le fichier joint, j'ai créé une feuille avec une table Excel qui liste (il faudra bien sûr la compléter au besoin) toutes tâches possibles.
Ensuite, une requête, basée sur les éléments saisis dans "rapport de surveillance" permettra de filtrer cette liste et d'afficher le résultat dans cette même feuille "rapport de surveillance".

Par ailleurs, je n'ai pas bien compris l'intérêt de saisir quelques éléments. La saisie de le date permet d'obtenir, le N° du jour, le nom du jour, le mois, le numéro de semaine.
La saisie de la date se fait en E3, les cellules B4,B5 et B6 récupère via formule Excel les éléments voulus.
Enfin, en B12, il y a une formule qui permet de savoir si il s'agit du 1er lundi ou du 1er mardi du mois.

en espérant que ces éléments pourront vous aider dans la réflexion ...

Ne pas chercher à faire fonctionner la requête MSQuery dans le fichier joint, il faudrait pour que cela fonctionne bien, sortir la feuille BdD_Tâches, la mettre dans un second classeur et refaire la requête pour qu'elle aille chercher les éléments dans ce second classeur.

Bon samedi après midi
Laurent
 

Pièces jointes

  • Essai tâches.xlsx
    81.5 KB · Affichages: 12

thelissr

XLDnaute Nouveau
Re,

Ci-joint un pseudo exemple fait avec MSQuery (mais qui ne fonctionne pas correctement parce que je vais chercher les données dans le même classeur et MSQuery n'aime pas trop ça)
MSQuery permet un passage de paramètre plus simple, mais est devenu un outils obsolète
Il faut préférer Power Query

Bref, pour en revenir au sujet initial, dans le fichier joint, j'ai créé une feuille avec une table Excel qui liste (il faudra bien sûr la compléter au besoin) toutes tâches possibles.
Ensuite, une requête, basée sur les éléments saisis dans "rapport de surveillance" permettra de filtrer cette liste et d'afficher le résultat dans cette même feuille "rapport de surveillance".

Par ailleurs, je n'ai pas bien compris l'intérêt de saisir quelques éléments. La saisie de le date permet d'obtenir, le N° du jour, le nom du jour, le mois, le numéro de semaine.
La saisie de la date se fait en E3, les cellules B4,B5 et B6 récupère via formule Excel les éléments voulus.
Enfin, en B12, il y a une formule qui permet de savoir si il s'agit du 1er lundi ou du 1er mardi du mois.

en espérant que ces éléments pourront vous aider dans la réflexion ...

Ne pas chercher à faire fonctionner la requête MSQuery dans le fichier joint, il faudrait pour que cela fonctionne bien, sortir la feuille BdD_Tâches, la mettre dans un second classeur et refaire la requête pour qu'elle aille chercher les éléments dans ce second classeur.

Bon samedi après midi
Laurent
Bonjour Laurent,

En fait j'ai besoin de créer un formulaire qui ne ferai apparaitre QUE les taches nécessaires, à faire selon la date.
Ainsi, si un agent effectue la ronde de surveillance un mercredi de septembre, j'aimerais que le formulaire lui fasse apparaitre uniquement les taches qu'il devra faire pendant sa ronde. Et pas les taches qui ne concerne pas son moment.
D'où mon désir de choisir d'abord la date, puis en dessous de créer des listes de taches qui découleraient de la date.

Pardon si ce n'est pas clair...
Très bon samedi !
 

thelissr

XLDnaute Nouveau
Bonjour,
Un essai pour voir si je suis dans le vrai. La formule Si à rallonge pourra être améliorée, peut être même supprimée si on utilise le tableau des taches refait avec du index en concaténant jour et période. En fait tout peut être plus simple et concis, c'est juste pour voir si je vous ai compris.

Cordialement
Bonjour ! Auriez vous encore un moment pour me montrer comment je pourrais concaténer jour et période et ainsi utiliser l'index au lieu de =SI à rallonge ? je me heurte à des erreurs quand j'essaie de simplifier cette formule, et en plus je suis limitée à 250 caractère... Merci beaucoup !
 

Dugenou

XLDnaute Barbatruc
Bonjour,
Une autre approche :
  • les listes de taches sont dans 2 tableaux soir et nuit (feuille taches et fréquence)
  • On calcule les taches soir et nuit une par une et pour chaque jour du calendrier dans la feuille Liste (colonnes avec caractères bleus)==>permet une vue globale et un contrôle
  • On concatène toutes les taches soir et toutes les taches nuit dans les colonnes avec fond vert
  • Par un rechercheV sur le nom du jour concaténé au N° de semaine : ($B$3&$B$4 qu'on retrouve en colonne w de la feuille Liste) on affiche les taches en question : un SI permet de changer le N° de colonne retourné (3 ou 9) selon qu'on a choisi nuit ou soir
Cordialement
 

Pièces jointes

  • thelissr2.xlsm
    121.7 KB · Affichages: 10

Laurent78

XLDnaute Occasionnel
Bonjour Laurent,

En fait j'ai besoin de créer un formulaire qui ne ferai apparaitre QUE les taches nécessaires, à faire selon la date.
Ainsi, si un agent effectue la ronde de surveillance un mercredi de septembre, j'aimerais que le formulaire lui fasse apparaitre uniquement les taches qu'il devra faire pendant sa ronde. Et pas les taches qui ne concerne pas son moment.
D'où mon désir de choisir d'abord la date, puis en dessous de créer des listes de taches qui découleraient de la date.

Pardon si ce n'est pas clair...
Très bon samedi !
Bonsoir,
Quelle version d'Excel utilisez-vous ?
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 783
Messages
2 112 925
Membres
111 702
dernier inscrit
ELEHMAEA