XL 2016 Planification aléatoire sur les samedis.

halecs93

XLDnaute Impliqué
Bonjour à toutes et à tous,

Avec un peu (beaucoup ?) d'aide, j'ai mis en place un fichier qui me permet de générer aléatoirement des permanences les samedis.

Le but étant de répartir le plus équitablement et de façon équilibrée les personnes devant être présentes. Dans cette répartition, je veille à ce que tout le monde ait été présent un samedi avant de pouvoir affecter à nouveau une personne sur un samedi. De plus la répartition se fait en binôme (feuille "calendrier)

J'ai, je crois à peu près réussi. Je voulais maintenant faire apparaître le résultat sur un vrai calendrier (feuille calendrier_final).

J'ai bricolé une solution, mais j'imagine qu'on peut simplifier l'ensemble.

Si quelqu'un(e) souhaite jeter un œil, grand merci.
 

Pièces jointes

  • PLANNING DES SAMEDIS XLD.xlsm
    60.4 KB · Affichages: 6

TooFatBoy

XLDnaute Barbatruc
L'oreillette vient de me dire qu'on pourrait obtenir la date du lundi de Pâques avec ceci :
Code:
=ARRONDI(DATE(An;4;MOD(234-11*MOD(An;19);30))/7;0)*7-5

Donc pour le dimanche on doit pouvoir remplacer
Code:
=DATE(AN+1;SI((25-MOD((11*MOD(AN+1-1900;19)+4-ENT((7*MOD(AN+1-1900;19)+1)/19));29)-MOD(AN+1-1900+ENT((AN+1-1900)/4)+31-MOD((11*MOD(AN+1-1900;19)+4-ENT((7*MOD(AN+1-1900;19)+1)/19));29);7))>0;4;3);SI((25-MOD((11*MOD(AN+1-1900;19)+4-ENT((7*MOD(AN+1-1900;19)+1)/19));29)-MOD(AN+1-1900+ENT((AN+1-1900)/4)+31-MOD((11*MOD(AN+1-1900;19)+4-ENT((7*MOD(AN+1-1900;19)+1)/19));29);7))>0;(25-MOD((11*MOD(AN+1-1900;19)+4-ENT((7*MOD(AN+1-1900;19)+1)/19));29)-MOD(AN+1-1900+ENT((AN+1-1900)/4)+31-MOD((11*MOD(AN+1-1900;19)+4-ENT((7*MOD(AN+1-1900;19)+1)/19));29);7));31+(25-MOD((11*MOD(AN+1-1900;19)+4-ENT((7*MOD(AN+1-1900;19)+1)/19));29)-MOD(AN+1-1900+ENT((AN+1-1900)/4)+31-MOD((11*MOD(AN+1-1900;19)+4-ENT((7*MOD(AN+1-1900;19)+1)/19));29);7))))
par
Code:
=ARRONDI(DATE(AN+1;4;MOD(234-11*MOD(AN+1;19);30))/7;0)*7-6
 
Dernière édition:

Statistiques des forums

Discussions
313 770
Messages
2 102 235
Membres
108 181
dernier inscrit
Chr1sD