XL 2019 Renvoie vers une cellule selon dates

LyLie

XLDnaute Nouveau
Bonjour,

voilà plusieurs jours que j'essaie de créer un planning et que je bute sur une formule qui me renverrait chaque jour le chantier (la tâche) à faire.
Il y a deux contraintes majeures :
- un chantier peut se dérouler sur un ou plusieurs jours (colonnes Début et Fin)
- plusieurs chantiers peuvent se dérouler le même jour (donc afficher plusieurs résultats dans une cellule, ou dans des cellules adjacentes)

J'ai essayé avec les fonctions SI, RECHERCHE, le couple INDEX/EQUIV, avec un tableau intermédiaire, en fonction matricielle...bref je ne m'en sort pas !
Je ne connaît pas du tout le langage VBA donc je n'ai pas exploré cette option (mais s'il m'est expliqué et fonctionne j'accepte avec joie !).

Je vous remercie par avance si vous avez des idées (ou même une solution !)
 

Pièces jointes

  • Planning.xlsm
    111.2 KB · Affichages: 11
Solution
Bonjour,

Après quelques modifications de votre tableau : un tableau structuré est fait pour uniformiser les données et doit éviter de comporter des lignes vides. Ensuite, si vous ne voulez pas avoir des formules trop à rallonges ou trop lente à calculer, mettez une date de fin (la même que début si une journée). J'ai nommé votre tableau T_Planning qui me semble plus parlant que 'Tableau1' (Le T_ c'est pour indiquer sa nature de tableau)
=SIERREUR(INDEX(T_Planning[Chantier];AGREGAT(15;6;(LIGNE(T_Planning[Chantier])-4)/($K5>=T_Planning[Début])/($K5<=T_Planning[Fin]);L$4));"-")
Vous pouvez remplacer le 'L$4' de la formule par 1 pour la première colonne, 2 pour la deuxième etc.


Cordialement

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Après quelques modifications de votre tableau : un tableau structuré est fait pour uniformiser les données et doit éviter de comporter des lignes vides. Ensuite, si vous ne voulez pas avoir des formules trop à rallonges ou trop lente à calculer, mettez une date de fin (la même que début si une journée). J'ai nommé votre tableau T_Planning qui me semble plus parlant que 'Tableau1' (Le T_ c'est pour indiquer sa nature de tableau)
=SIERREUR(INDEX(T_Planning[Chantier];AGREGAT(15;6;(LIGNE(T_Planning[Chantier])-4)/($K5>=T_Planning[Début])/($K5<=T_Planning[Fin]);L$4));"-")
Vous pouvez remplacer le 'L$4' de la formule par 1 pour la première colonne, 2 pour la deuxième etc.


Cordialement
 

Pièces jointes

  • Planning.xlsm
    126 KB · Affichages: 4

LyLie

XLDnaute Nouveau
Bonjour,

Merci beaucoup pour votre réactivité !

@JHA ce n'était pas exactement ce que je voulais, mais ça m'a donné des idées (ça peut être utile d'avoir le responsable du chantier à côté)

@Roblochon ça fonctionne parfaitement ! Je mettrais une MFC pour masquer les "-" (j'imprime le calendrier) et ce sera bon. Je ne connaissais pas la fonction AGREGAT, que signifient les "/" dans la formule ?

Encore merci pour vos retours
 

Discussions similaires

Réponses
2
Affichages
985

Statistiques des forums

Discussions
315 093
Messages
2 116 130
Membres
112 667
dernier inscrit
foyoman