Calcul de la date de pâques, ascension et pentecôte

Contenu du snippet

Cette fonction permet de calculer les dates des jours fériés non "fixes" comme les jours de Pâques, de l'ascension et de la pentecôte (même si ce dernier ne sera plus d'actualité puisqu'il paraît que c'est parce que nous ne travaillons pas assez que nos vieux meurent l'été).

Source / Exemple :


Function calcul_date_paques(annee_en_cours As Integer) As Date
     Dim a, b, C, P, E, F, g, h, i
     Y = annee_en_cours
     a = fmod(Y, 19)
     b = Int(Y / 100)
     C = fmod(Y, 100)
    P = Int(b / 4)
    E = fmod(b, 4)
    F = Int((b + 8) / 25)
    g = Int((b - F + 1) / 3)
    h = fmod(19 * a + b - P - g + 15, 30)
    i = Int(C / 4)
    K = fmod(C, 4)
    r = fmod(32 + 2 * E + 2 * i - h - K, 7)
    N = Int((a + 11 * h + 22 * r) / 451)
    M = Int((h + r - 7 * N + 114) / 31)
    D = fmod(h + r - 7 * N + 114, 31) + 1
    
    calcul_date_paques = DateSerial(Year:=Y, Month:=M, Day:=D)

End Function
Function fmod(a, b)

    fmod = (a - b * Int(a / b))

End Function

Conclusion :


Cette petite fonction aux calculs obscurs vous donne la date du jour de pâques. Pour avoir le lundi de pâques, il vous suffira d'y ajouter 1 jour.
Pour l'ascension, il vous faudra y ajouter 39 jours, et enfin pour feu le lundi de la pentecôte, il faut ajouter 50 jours (toujours par rapport au dimanche de pâques).
Pour plus d'explication sur ce calcul, lisez le nouveau testament ;-).

A voir également

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.