Accueil > > > DETERMINE SI UNE DATE EST FERIEE
DETERMINE SI UNE DATE EST FERIEE
Information sur la source
Description
4 fonctions qui permettent à tous les débutants d'intégrer un code compréhensible et facilement maintenable ou extensible. La fonction à appeller est la fonction IsFerie. La fonction Paques provient de mon précédent POST (http://www.vbfrance.com/codes/CALCUL-DATE-PAQUES- PARTIR-1583-SELON-OUDIN_39733.aspx) c'en est donc l'extension
Source
- Function IsFerie(datetoanalyse As Date) As Boolean
- If Not (IsFrozen(datetoanalyse)) Then
- If Not (IsMobile(datetoanalyse)) Then
- IsFerie = False
- Else
- IsFerie = True
- End If
- Else
- IsFerie = True
- End If
- End Function
-
- Function IsFrozen(datetoanalyse As Date) As Boolean
-
- Dim Jour, Mois
-
- Jour = Day(datetoanalyse)
- Mois = Month(datetoanalyse)
-
- Select Case Mois
- Case 1
- 'Jour de l'an
- If Jour = 1 Then IsFrozen = True
- Case 5
- 'Fête du travail et Victoire
- If Jour = 1 Or Jour = 8 Then IsFrozen = True
- Case 7
- 'Fête Nationale
- If Jour = 14 Then IsFrozen = True
- Case 8
- 'Assomption
- If Jour = 15 Then IsFrozen = True
- Case 11
- 'Toussaint et Armistice
- If Jour = 1 Or Jour = 11 Then IsFrozen = True
- Case 12
- 'Noël
- If Jour = 25 Then IsFrozen = True
- Case Else
- IsFrozen = False
- End Select
- End Function
-
- Function IsMobile(datetoanalyse As Date) As Boolean
-
- Dim Dimanche2Paques, LundiPaques, JeudiAscension, Pentecote, LundiPentecote
-
- Dimanche2Paques = Paques(Year(datetoanalyse))
- LundiPaques = Dimanche2Paques + 1
- JeudiAscension = Dimanche2Paques + 39 ' le jeudi de la sixième semaine après Pâques
- Pentecote = Dimanche2Paques + 49 ' le septième dimanche après Pâques
- LundiPentecote = Pentecote + 1
-
- If datetoanalyse = Dimanche2Paques Then
- IsMobile = True
- ElseIf datetoanalyse = LundiPaques Then
- IsMobile = True
- ElseIf datetoanalyse = JeudiAscension Then
- IsMobile = True
- ElseIf datetoanalyse = Pentecote Then
- IsMobile = True
- ElseIf datetoanalyse = LundiPentecote Then
- IsMobile = True
- Else
- IsMobile = False
- End If
-
- End Function
-
- Function Paques(annee As Integer) As Date
-
- Dim G, C, C_4, E, H, K, P, Q, I, B, J1, J2, R
-
- G = annee Mod 19
- C = annee \ 100
- C_4 = C \ 4
- E = (8 * C + 13) \ 25
- H = (19 * G + C - C_4 - E + 15) Mod 30
- K = H \ 28
- P = 29 \ (H + 1)
- Q = (21 - G) \ 11
- I = (K * P * Q - 1) * K + H
- B = annee \ 4 + annee
- J1 = B + I + 2 + C_4 - C
- J2 = J1 Mod 7
- R = 28 + I - J2
-
- If R <= 31 Then
- Paques = DateValue(CStr(R) & "/3/" & CStr(annee))
- Else
- Paques = DateValue(CStr(R - 31) & "/4/" & CStr(annee))
- End If
-
- End Function
Function IsFerie(datetoanalyse As Date) As Boolean
If Not (IsFrozen(datetoanalyse)) Then
If Not (IsMobile(datetoanalyse)) Then
IsFerie = False
Else
IsFerie = True
End If
Else
IsFerie = True
End If
End Function
Function IsFrozen(datetoanalyse As Date) As Boolean
Dim Jour, Mois
Jour = Day(datetoanalyse)
Mois = Month(datetoanalyse)
Select Case Mois
Case 1
'Jour de l'an
If Jour = 1 Then IsFrozen = True
Case 5
'Fête du travail et Victoire
If Jour = 1 Or Jour = 8 Then IsFrozen = True
Case 7
'Fête Nationale
If Jour = 14 Then IsFrozen = True
Case 8
'Assomption
If Jour = 15 Then IsFrozen = True
Case 11
'Toussaint et Armistice
If Jour = 1 Or Jour = 11 Then IsFrozen = True
Case 12
'Noël
If Jour = 25 Then IsFrozen = True
Case Else
IsFrozen = False
End Select
End Function
Function IsMobile(datetoanalyse As Date) As Boolean
Dim Dimanche2Paques, LundiPaques, JeudiAscension, Pentecote, LundiPentecote
Dimanche2Paques = Paques(Year(datetoanalyse))
LundiPaques = Dimanche2Paques + 1
JeudiAscension = Dimanche2Paques + 39 ' le jeudi de la sixième semaine après Pâques
Pentecote = Dimanche2Paques + 49 ' le septième dimanche après Pâques
LundiPentecote = Pentecote + 1
If datetoanalyse = Dimanche2Paques Then
IsMobile = True
ElseIf datetoanalyse = LundiPaques Then
IsMobile = True
ElseIf datetoanalyse = JeudiAscension Then
IsMobile = True
ElseIf datetoanalyse = Pentecote Then
IsMobile = True
ElseIf datetoanalyse = LundiPentecote Then
IsMobile = True
Else
IsMobile = False
End If
End Function
Function Paques(annee As Integer) As Date
Dim G, C, C_4, E, H, K, P, Q, I, B, J1, J2, R
G = annee Mod 19
C = annee \ 100
C_4 = C \ 4
E = (8 * C + 13) \ 25
H = (19 * G + C - C_4 - E + 15) Mod 30
K = H \ 28
P = 29 \ (H + 1)
Q = (21 - G) \ 11
I = (K * P * Q - 1) * K + H
B = annee \ 4 + annee
J1 = B + I + 2 + C_4 - C
J2 = J1 Mod 7
R = 28 + I - J2
If R <= 31 Then
Paques = DateValue(CStr(R) & "/3/" & CStr(annee))
Else
Paques = DateValue(CStr(R - 31) & "/4/" & CStr(annee))
End If
End Function
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Comment faire changer les date affiché par un calendrier Outlook ? [ par Nitocris ]
Je cherches a faire afficher un calendrier outlook (jusque la pas de problème)Et a lui imposé un jour (d'affichage) prédéfini avant dans mon programme
calendrier et conversion de date [ par didierm ]
J'ai 2 questions :- sous excel 2000, comment creer un calendrier avec gestion des jours feriers- existe - il une fonction qui permet de convertir une
calendrier et conversion de date [ par didierm ]
J'ai 2 questions :- sous excel 2000, comment creer un calendrier avec gestion des jours feriers- existe - il une fonction qui permet de convertir une
Calendrier [ par machto ]
Bonjour. Je veux utiliser (pour la 1° fois) ce composant pour sélectionner une date.Quelqu'un peut-il me dire où récupérer la date cliquée et (éve
CALENDRIER [ par welldone ]
HELP,je voudrais en cliquant dans une cellule excel ouvrir le controle calendrier selectionner une date dans celui ci et que cette date s'affiche dans
date et calendrier [ par guigui ]
existe-t-il une fonction qui à partir d'une date retourne le 1er jour de la semaine concernee et le dernier jour de cette semaine?sinon j'aimerais de
fonction calendrier [ par bestof2002 ]
voila mon problem si je puis dire je debute en vb et est ce que quelqu'un a l'ame charitable pourrait m'aiderje voudrai utiliser la fonction calendar
date présélectionné dans un controle calendar [ par pleymo21 ]
BonjourJe me suis glissé un calendrier sous vb.net et j'aimerais qu'à chaque fois que la page est loadée...je voudrais que la date du j
calendrier [ par vichenzo ]
salut a tous,voial je fais un petit calendrier...g utilise cemui de vb mais g bcp de mal a le programmer. J aimerais pourvoir recupere du texte, une d
Question à propos du calendrier [ par Tataye19 ]
Je souhaite, pour une application, utiliser le controle Calendrier de VB6. C'est à dire que j'aimerais que la date que je saisisses dans le calen
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
LISTER KEYS.KEYLISTER KEYS.KEY par Onin42
Cliquez pour lire la suite par Onin42
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|