XL 2016 Supprimer un intervalle de 15minutes dans planning

Kinayla

XLDnaute Nouveau
Bonjour,

Avant tout, merci à ceux qui pourront me recommander une solution ou des aides en VBA, je n'y connais rien mais j'espère apprendre tout ça.

Je suis en train de préparer des outils pour les organisateurs de conventions et plutôt que reprendre mes vieux excels fait a la mano, j'ai cherché comment rendre cela automatique pour automatiser en partie le planning et sa visibilité. = )

J'ai donc pris un planning dans les templates officiels et l'ai arrangé à ma sauce...

Mon seul problème actuellement, c'est que la macro place 15 min d'intervalle entre deux animations sur une table jeu de rôle et je n'arrive pas à comprendre comment modifier cela sans que cela change les intervalles du planning également. Éventuellement, avoir la possibilité de colorier les animations directement dans le planning serait un plus. ^^

La fonction sur chaque case avec en gras ce qui semble poser problème :

=SIERREUR(INDEX(ListeCours;EQUIV(SOMMEPROD((ListeCours[TABLES]=EmploiDuTemps[[#En-têtes];[TABLE 01]])*(ARRONDI.INF($B32;10)>=ARRONDI.INF(ListeCours[HEURE DE DÉBUT];10))*($B32<=ListeCours[HEURE DE FIN]);ListeCours[UNIQUE]);ListeCours[UNIQUE];0);2);0)

Dans le template d'origine, l'onglet "planning samedi" s’appelait Emploi du temps et l'onglet "Tables à planifier" s'appelait Liste des cours.
Je suppose que ListeCours ou EmploiDuTemps dans la formule macro signifie qu'une fonction a été créée, voire personnalisée.

Merci encore pour votre aide.
 

Pièces jointes

  • TEST emploi du temps tables.xlsx
    37.5 KB · Affichages: 16

TooFatBoy

XLDnaute Barbatruc
Je pense qu'il suffit de supprimer le "=" dans la comparaison avec l'heure de fin dans la formule :

=SIERREUR(INDEX(ListeCours;EQUIV(SOMMEPROD((ListeCours[TABLES]=EmploiDuTemps[[#En-têtes];[TABLE 01]])*(ARRONDI.INF($B4;10)>=ARRONDI.INF(ListeCours[HEURE DE DÉBUT];10))*($B4<=(ListeCours[HEURE DE FIN]));ListeCours[UNIQUE]);ListeCours[UNIQUE];0);2);0)

ce qui donnerait ceci :
Code:
=SIERREUR(INDEX(ListeCours;EQUIV(SOMMEPROD((ListeCours[TABLES]=EmploiDuTemps[[#En-têtes];[TABLE 01]])*(ARRONDI.INF($B4;10)>=ARRONDI.INF(ListeCours[HEURE DE DÉBUT];10))*($B4<(ListeCours[HEURE DE FIN]));ListeCours[UNIQUE]);ListeCours[UNIQUE];0);2);0)

Ainsi, tu peux laisser 15:00 comme fin de l'activité précédente. ;)

Capture_du_2022-06-05_a_19-12-19.png
 
Dernière édition:

Kinayla

XLDnaute Nouveau
=SIERREUR(INDEX(ListeCours;EQUIV(SOMMEPROD((ListeCours[TABLES]=EmploiDuTemps[[#En-têtes];[TABLE 01]])*(ARRONDI.INF($B4;10)>=ARRONDI.INF(ListeCours[HEURE DE DÉBUT];10))*($B4<(ListeCours[HEURE DE FIN]));ListeCours[UNIQUE]);ListeCours[UNIQUE];0);2);0)
ça marche nickel, j'ai remplacé les nom ListeCours vu que j'ai changé les noms des tableaux.

Par contre, si deux activités qui se suivent ont le même texte,, le texte ne se répètera pas.
Il manquerait plus qu'à avoir la possibilité de colorier les plages comme on souhaite.
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 869
dernier inscrit
radyreth