Calculer nbre de Jrs avec chevauchement de dates

Barracuda

XLDnaute Nouveau
Bonjour à Toutes et à Tous,

Je suis nouveau dans ce forum. Evidemment on a dû vous le dire des dizaines de fois, celui-ci est clair, pas surchargés en termes trop techniques et agréable à consulter.

Bravo pour votre dévouement. Vous ne le savez peut-être pas, mais vos réponses ont, probablement pour certains, sauvés la mise.

Je ne suis pas débutant en Excel mais je n'en suis pas non plus un expert. La programmation VB/Sql/Windev ne m'est pas inconnu, mais je souhaites en apprendre un peu plus en VBA.

Voici mon problème (c'est plus un prob.d'algorithme/méthode que de programmation):

Je souhaites trouver une méthode facile à mettre en place dans une feuille Excel.
Celle-ci propose une série de périodes d'occupation pour un Enseignant (ex: (A1)Debut1,(B1)Fin1....Debut12,Fin12...). Dans le cas où la formule detecte qu'il y a plus d'une période, elle doit déterminer les intervals communs (=chevauchement). aux périodes et aussi pour chaque période ses jours propres (=hors chevauchement). En Enseignant peut travailler dans différentes écoles à temps partiel au cours d'une même période.

Si oui, alors il doit déterminer le nbre de jour pendant lesquels les dates se croisent: ex--> Du 01/09/05 Au 31/01/06 et Du 05/12/05 Au 13/01/06. Les règles: régime trav.= 6jrs/sem (Dimanche sont les seuls jours fériés), un mois complet=26jrs (même si février).

A) réponse pour période1 01/09/05 Au 04/12/05 = 81 jrs ((3x26jr)+3jrs) X taux de pér1.
B) Chevauchemet période1 et 2--> 05/12/05 Au 13/01/06 = 24jrs jusqu'au 31/12/05 + 11 jrs jusqu'au 13/01/06 = 35jrs de chevauchement X taux horaire de (pér1+pér2).
C) réponse reste période1 14/01/06 Au 31/01/06 = 11jrs X taux de pér1.

Je sais...Je sais, c'est quasi du suicide que de tenter d'aller jusqu'au bout de l'énoncé. Mais ce serait 'rudement' sympa si vous pouviez m'aider ou m'éclairer un tout petit peu. Allez, prenons çà comme un défi.

D'avance déjà merci pour votre patience.

Barracuda.

;)
 

andré

XLDnaute Barbatruc
Salut,

Je dois bien t'avouer que je ne comprends pas beaucoup à tes explications (ne t'inquiètes pas, c'est normal de ma part, je ne suis pas des plus malins - lol).

Peux-tu mettre un exemple en pièce jointe, reprenant d'une part tes données, d'autre part les résultats que tu souhaites obtenir, éventuellement et si necessaire, avec une définition des contraintes ?

C'est bien plus pratique qu'une longue explication.

Pour les pîèces jointes :
Lien supprimé

Â+
 

chris

XLDnaute Barbatruc
Bonjour
C'est vrai qu'un exemple serait bienvenu.
Sur le principe il faut déjà repérer la période 1 et le nombre de période pour le même enseignant.
Ce nombre initialise une boucle où
- on compare si le début est supérieur ou égal à un autre début et si oui s'il est inférieur ou égal à la fin de la période de cet autre début
- si oui on calcule les chevauchements
A l'issue de la boucle on sait donc si la période 1 chevauche une ou n autres périodes.
On passe à la période 2 qu'on compare aux périodes suivantes (on ne reprend pas la 1 donc les boucles sont de + en + courtes ...
On a donc 2 boucles imbriquées.
Reste la possibilité de plusieurs chevauchements qu'il ne faut pas compter plusieurs fois...
Voilà c'est donc une 1ere approche.

Message édité par: chris, à: 04/06/2006 12:31
 

Barracuda

XLDnaute Nouveau
Salut Chris et tous les autres,

voici le fichier excel pour exemple. J'y ai mis pas mal d'exemple. l'interface final aura une toute autre allure.

Merci d'avance pour votre aimable collaboration.

Barracuda

;) [file name=ExempleListeEnseignant3.zip size=42159]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ExempleListeEnseignant3.zip[/file]
 

Pièces jointes

  • ExempleListeEnseignant3.zip
    41.2 KB · Affichages: 81

andré

XLDnaute Barbatruc
Salut,

Heureusement que j'ai demandé un fichier !

Un essai de formule en pièce jointe.
A tester pour d'autres dates.
Il faudra peut-être y apporter l'une ou l'autre petite correction.

La solution retenue est d'additionner le résultat des diverses lignes au lieu de recomposer les diverses périodes avant calcul.

Â+ [file name=ListeEnseignantV1.zip size=3214]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ListeEnseignantV1.zip[/file]
 

Barracuda

XLDnaute Nouveau
Salut André,

Encore merci pour ton aide...J'apprécie.

Ci-joint le texte d'origine basé sur la réglementation chômage en Belgique.

As-tu besoin d'autres infos.

@+

;) [file name=RetribDiffEnseignant.zip size=4430]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/RetribDiffEnseignant.zip[/file]
 

Pièces jointes

  • RetribDiffEnseignant.zip
    4.3 KB · Affichages: 60

andré

XLDnaute Barbatruc
Salut,

Je viens de prendre connaissance de la reglementation.
Je la connaissais, mais en partie seulement,(je suis aussi belge).
Pas un bel exemple de simplification administrative !

Je constate :

Un mois complet va bien du 1er au dernier jour du mois, et non, tel que je le supposais, par exemple, du 15.03.06 au 14.04.06

Ma première idée de cumuler les périodes n'est donc pas bonne, parce que durant les périodes de cumul, les mois des périodes sont interrompus, mais pourraient à nouveau être d'application pour la période de cumul.

De plus, je ne vois pas comment, dans le premier exemple, on obtient 17 jrs du 01.04 au 21.04.
21 * 6/7 = 18 et dans cette période il n'y a bien 3 dimanche, donc également 18 jrs en R6.

Ecrire une formule qui répond à toutes ces exigences et valable pour 3 périodes qui se chevauchent ou pas n'est pas chose aisée, mais je n'ai pas abandonné.
Un peu de patience.

Â+
 

Barracuda

XLDnaute Nouveau
(re)Salut André,

Bon et bien ça me rassure de savoir que grâce à toi je ne suis pas le seul belge à trouver 'ce' machin-chose un peu tiré par les cheveux.

Pour l'histoire de 17jrs...J'ai retrouvé un complément sur les contraintes. Voilà ce qui est dit :

« ..Si le dernier jour de l’occupation est un vendredi, le samedi qui suit ne peut pas être comptabilisé… »

Mais, dans ce cas précis, effectivement il y a bien 18jrs et non 17jrs.

C'est une erreur du service demandeur. Le 21/04 tombe un vendredi et de plus est le dernier jour de la période, donc le samedi n'a pas lieu d'être déduit.

Encore merci pour ton dévouemeent et ta précieuse participation.

@+

;)
 

andré

XLDnaute Barbatruc
Salut,

Une toute (toute) petite approche en pièce jointe.
Le problème n'est pas aussi simple à résoudre qu'il n'y paraît au premier abord.
J'ai été obligé de créer un tableau avec diverses formules successives (aussi plus facile pour la compréhension)

Pour l'exemple donné cela fonctionne.
Mais ... !

Il y a erreur si une période fait moins d'un mois
(la formule calcule jusqu'à la fin du mois).
Les formules devraient s'adapter au nombre de périodes
(ce qui n'est pas le cas pour certaines)
Il n'a pas encore été tenu compte de la dernière exigence : la période finale s'arrête un samedi
(qu'il ne faut pas comptabiliser)

Petite question subsidiaire :
Lorsque la période est un mois entier et que le dernier jour est un samedi, faut-il compter 26 ou 25 jours ?

Sur mon écran je ne puis voir si tu es membre ou non.
Si ce n'est le cas, fais-toi membre, ainsi nous pourrons nous échanger nos e-mails (plus faicile pour les contacts).
La solution finale (si on la trouve) sera publiée sur XLD.

Je suis assez pris jusqu'à la fin de semaine, donc le suite au cours du week-end.
Bonne soirée.
Â+

EDITION :
Avec la pièce jointe, c'est beaucoup mieux ! [file name=ListeEnseignantV2.zip size=4591]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ListeEnseignantV2.zip[/file]

Message édité par: andré, à: 07/06/2006 18:13
 

Barracuda

XLDnaute Nouveau
Déjà pas mal! Et je dirais même , pas mal du tout.

Si le dernier jour d'un mois complet, tombe un samedi, ça n'a aucune importance. Tu dois juste considérer que quelque soit le dernier jour (même si vendrei, ou dimanche...) et puisqu'il s'agit d'un mois complet, il faut toujours compter 26jrs

(1 mois complet= Du 01/MM/AA Au 28/29 pour février ou Au 30/31 pour les autres mois.

une période dans l'intervalle du 15/MM/AA au 15/MM+1/AA ou 14/MM+1/AA n'EST PAS un mois complet. Il faut absolument que période commence le 01 et boucle un mois civil.

P/ex: Du 10/03/06 Au 05/05/06, il faut compte nbre jr du 10 au 31/03 (-Dimanche) + 26jrs pour 01/04 au 30/04 + nbre jr 01/05 au 05/05 (-Dimanche).

Voilà, Bonne Soirée et @+
;)
 

Discussions similaires

Statistiques des forums

Discussions
314 635
Messages
2 111 453
Membres
111 144
dernier inscrit
shura_77