Weekend et Fériés

SElKettani Messages postés 36 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 26 février 2010 - 22 nov. 2009 à 19:41
SElKettani Messages postés 36 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 26 février 2010 - 25 nov. 2009 à 21:42
Bonsoir
J'ai un petit problème sous Access : Gestion des rendez vous :
Sur un module il y a les dates des jours fériées et des dimanches (quelques soit l'année) et sur une table les jours congés.
Sur un formulaire il y a une zone texte qui contient la date d'aujourd'hui(Aujourdhui), sur une autre j'introduis un chiffre (NbJours) et sur une troisième (Le) apparait une date (la somme des 2). Une condition précise qu'il faut ajouter “1” si la date obtenue est un dimanche ou un jour férié.
Cela fonctionne bien sauf si un jour férié est un samedi ou un dimanche.
Ainsi en 2010 le premier mai sera un samedi (il est férié au Maroc), le 02/05/2010 sera un dimanche. Dans mon code si j’ajoute 160 à aujourd'hui j’obtients « dimanche 2 mai 2010» c’est ce que je ne veux pas ! Une boucle sera intéressante pour vérifier successivement les deux conditions, alors que dans mon code on vérifie l’une ou l’autre !
Je n’ai pas su réaliser la boucle avec While .. Wend
Avez vous une solution ?
Code : Bouton
Le.Value = (NbJours.Value) + Aujourdhui.Value
Texte49.Value = (NbJours.Value) + Aujourdhui.Value
If EstFerie(Le) Or Not (EstWeek(Le)) Then
' SI "Ce jour est férié" OU si Weekend Donc on ajoute 1 jour à la somme
Le.Value = (NbJours.Value) + Aujourdhui.Value + 1
Else
Le.Value = (NbJours.Value) + Aujourdhui.Value
End If

Code Férié je l’ai pris de (http://access.developpez.com/faq/?page=dates#NbJourSsFeries ) Auteur : MC2
Code : Function EstWeek
Private Function EstWeek(laDate As Date)
'>1 et <7 : lundi à vendred
'>1 et <8 : lundi à samedi
EstWeek = ((Weekday(laDate) > 1) And (Weekday(laDate) < 8)) ' est un jour de la semaine (hors week-end)
End Function

Merci pour votre aide

1 réponse

SElKettani Messages postés 36 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 26 février 2010
25 nov. 2009 à 21:42
Bonsoir
Le problème est partiellement résolu pour jours fériés qui précèdent ou suivent un dimanche, solution :
Le.Value = (NbJours.Value) + Aujourdhui.Value
While (EstFerie(Le) Or (Not (EstWeek(Le))))
Le.Value = Le.Value + 1
Wend

La deuxième partie concerne les jours congés contenus dans la table, comment les intégrés dans le code !
Merci pour votre aide
0
Rejoignez-nous