1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
Option Explicit
Private Sub Form_Load()
Text1.Text = Year(Date)
End Sub
Private Sub Command1_Click()
Dim An As Integer
Dim Paques As Date
Dim LunPaq As Date
Dim Ascension As Date
Dim LunPent As Date
'
An = Val(Text1)
'
Paques = fPaques(An) 'Cherche le jour de Pâques
LunPaq = DateAdd("d", 1, Paques) 'En déduit
Ascension = DateAdd("d", 39, Paques) 'les autres
LunPent = DateAdd("d", 50, Paques) 'jours fériés
MsgBox "En " & CStr(An) & vbCrLf & _
"Paques = " & Format(Paques, "dd/mm") & vbCrLf & _
"Lundi de Paques = " & Format(LunPaq, "dd/mm") & vbCrLf & _
"Ascension = " & Format(Ascension, "dd/mm") & vbCrLf & _
"Lundi de pentecote = " & Format(LunPent, "dd/mm") & vbCrLf
End Sub
Public Function fPaques(An As Integer) As Date
'Calcule le jour de Pâques en fonction
'de l'année
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 |
Partager