Jours fériés de l'année

Soyez le premier à donner votre avis sur cette source.

Snippet vu 16 617 fois - Téléchargée 45 fois

Contenu du snippet

Bonjour,

Un truc toujours utile : connaitre les jours fériés... pour Noël et le 14 juillet... pas de problème, mais pour Paques, l'Ascension et la Pentecôte, pas si simple...

PS : en plus, pour épater la gallerie, l'explication du calcul de la date de Paques !

A+ Patrick MOIRE
http://jeux.cartes.free.fr
email:jeux.cartes@free.fr

Source / Exemple :


VERSION 5.00
Begin VB.Form Fond 
   AutoRedraw      =   -1  'True
   BorderStyle     =   1  'Fixed Single
   Caption         =   "Jours fériés de l'année courante..."
   ClientHeight    =   7275
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   7755
   FillColor       =   &H00404040&
   ForeColor       =   &H00004080&
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   7275
   ScaleWidth      =   7755
   StartUpPosition =   2  'CenterScreen
End
Attribute VB_Name = "Fond"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Form_Load()

  Me.Font.Name = "Courier New"
  Me.Font.Size = 10
  
  DatePaques = fPaques(Year(Date))
   
  Me.ForeColor = &H8000&
  Print
  Print "  (C) Patrick Moire (bureau.patrick@libertysurf.fr"
  Print "  http://perso.libertysurf.fr/jeuxdecartes"
  Print
    
  Me.ForeColor = &H4080&
  Print " Jour Fixe :"
  Print " ~~~~~~~~~~~"
  
  Me.ForeColor = &H80000012
  Print "   Jour de l'an    : 01/01/" & Year(Date)
  Print "   Fête du travail : 01/05/" & Year(Date)
  Print "   Victoire 1945   : 08/05/" & Year(Date)
  Print "   Fête Nationnale : 14/07/" & Year(Date)
  Print "   Assomption      : 15/08/" & Year(Date)
  Print "   La toussaint    : 01/11/" & Year(Date)
  Print "   Armistice       : 11/11/" & Year(Date)
  Print "   Noël            : 25/12/" & Year(Date)
   
  Me.ForeColor = &H4080&
  Print
  Print " Jour Variable :"
  Print " ~~~~~~~~~~~~~~~"
  Print
  
  Me.ForeColor = &H8000&
  Print "      La date du dimanche de Pâques  est le premier dimanche"
  Print "  qui suit  la première pleine lune qui suit  l'équinoxe  de"
  Print "  printemps (21 mars).  D'où le  décalage chaque année  mais"
  Print "  toujours à l'intérieur de 30 jours (révolution de la lune)."
  Print
  
  Me.ForeColor = &H80000012
  Print "   Paques          : "; Format(DatePaques, "dd/mm/yyyy")
  Print "   Lundi de paques : "; Format(DateAdd("d", 1, DatePaques), "dd/mm/yyyy")
  Print "   Ascension       : "; Format(DateAdd("d", 39, DatePaques), "dd/mm/yyyy")
  Print "   Pentecôte       : "; Format(DateAdd("d", 50, DatePaques), "dd/mm/yyyy")
   
  Me.ForeColor = &H8000&
  Print
  Print " Merci à Grégory Rousseau pour son code et Frederic Laurent "
  Print " pour son explication sur le calcul de la date de paques."
  
End Sub

 
Public Function fPaques(An%) As Date
 
  Dim a As Integer
  Dim b As Integer
  Dim c As Integer
  Dim d As Integer
  Dim e As Integer
  Dim f As Integer
  Dim g As Integer
  Dim h As Integer
  Dim i As Integer
  Dim j As Integer
  Dim k As Integer
  Dim l As Integer
  Dim m As Integer
  Dim n As Integer
  Dim p As Integer
   
    a% = An% Mod 19
    b% = An% \ 100
    c% = An% Mod 100
    d% = b% \ 4
    e% = b% Mod 4
    f% = (b% + 8) \ 25
    g% = (b% - f% + 1) \ 3
    h% = (19 * a% + b% - d% - g% + 15) Mod 30
    i% = c% \ 4
    k% = c% Mod 4
    l% = (32 + 2 * e% + 2 * i% - h% - k%) Mod 7
    m% = (a% + 11 * h% + 22 * l%) \ 451
    n% = (h% + l% - 7 * m% + 114) \ 31
    p% = (h% + l% - 7 * m% + 114) Mod 31
    fPaques = DateSerial(An%, n%, p% + 1)
 
End Function

Conclusion :


Le code ci-dessus correspond au contenu d'un fichier .frm pour VB5.

A+

A voir également

Ajouter un commentaire

Commentaires

très bon code nivo reflexion. Dommage qu'il n'y a pas de zip. Ca fait 9/10
mwais c tres bien!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.