Bonjour à Tous,
Je suis nouveau inscrit dans ce forum, mais pas nouveau visiteur. Je souhaiterai vous exposer l'énoncé d'un problème que l'on m'a demandé de résoudre via Access (VBA pour Access 2003):
Dans un le formulaire, plusieurs zones input (saisie des périodes de début et de fin d'occupation d'un enseignant, période pouvant aller p/ex du 01/09/yy au 30/06/yy), de zones output pour afficher les nbres de jours calculés dans une grille. Un enseignant pouvant travailler dans plusieurs écoles à la fois et au travers de plusieurs périodes (sous un régime 6jrs). P/ex, dans l'école A il enseigne du 01/09/05 au 31/01/06 au taux de 12/24ème, et dans l'école B il enseigne du 05/12/05 au 13/01/06 au taux de 06/20ème. Le programme devra appliquer la méthode de calcul suivante (et pas une autre)
Petite info: (12=horaire presté, 24=horaire temps plein)
Les deux périodes se chevauchent
Il faut donc :
1) que le programme puisse déceler cela (même lorsque l’on a 8,9, ou 12
périodes)
2) que lorsqu’il y a chevauchement, dans le cas qui nous occupe ici, il
faut que le module de calcul décortique/éclate les dates en appliquant
la méthode suivante :
01/09/05 au 03/12/05 = (3x26jrs) +3jrs= (81jrs x 12/24) x 0,2 (=8,1)
(+) 05/12/05 au 13/01/06 = (24+11) = (35jrs x (12/24 + 06/20)) x 0,2 (=5,6
période commune aux deux dates)
(+) 14/01/06 au 31/01/06 = (15jrs x 12/24) x 0,2 (=1,5)
Arrondir seulement au résultat final : = 8,1 + 5,6 + 1,5 = 15,2 = 15
Pour info : Avant de calculer l'indice de chaque période il faut encore déduire « éventuellement » du nbre de jour total de la période, la période d’accouchement et deux périodes « possibles » de maladie sur mutuelle.
ATTENTION : 1 mois complet = 26jrs (01/09 au 30/11 = 3 x 26jrs)
même si le mois est 28 ou 29 février, il faut compter 26jrs.
une période commençant le 05/12/05 au 13/01/06 il faut
compter réellement le nbre de jrs calendrier moins les dimanches.
car ne commence pas le 1er du mois.
Comme quoi y a des gens qui visiblement aiment s'adonner à la torture du cerveau humain.
Bon et bien il ne me reste plus qu'à compter sur vous pour m'aider à accomplir ce "miracle". Et ce, sans que le programme lui-même ne perde pas le nord dans une interminable suite de if...then..else...do.......
Sincèrement, je sais que sur ce forum y a vraiment des gars balèses, alors je les invite à relever ce défi.
D'avance UN TOUT TOUT GRAND MERCI.
YoungBlood.
Partager