Bonjour,
essai ce code
Sub Paques()
' retourne paques d'une année
Dim DPaques As Date, Y1 As Long, Y2 As Long, _
Y3 As Long, Y4 As Long, Y5 As Long, Y6 As Long _
, Yj As Long, Ym, Ya
Dim Yannee As Long
'*************
Yannee = Year(Range("A1")) ' la cellule "A1" avec une date valide
'**************
Y1 = Modulo(Yannee, 19)
Y2 = Modulo(Yannee, 4)
Y3 = Modulo(Yannee, 7)
Y4 = Modulo((19 * Y1 + 24), 30)
Y5 = Modulo(((2 * Y2) + (4 * Y3) + (6 * Y4) + 5), 7)
Y6 = 22 + Y4 + Y5
If Y6 > 31 Then
Yj = Y6 - 31
Ym = 4
Else
Yj = Y6
Ym = 3
End If
DPaques = CDate(Str(Yj) & "/" & Str(Ym) & "/" & Yannee)
Range("A2") = DPaques 'la cellule "A2" avec une date valide
End Sub
Function Modulo(nombre As Long, diviseur As Long) As Long
' donne le reste d'une division sous une forme plus académique
Modulo = nombre Mod diviseur
End Function
les autres dates
Pâques- 42 = Carême
-7 = Rameaux
+39 = Ascension
+49 = Pentecôte
XLcalement eh Amicalement Pascal Liberty