OVH Cloud OVH Cloud

Demande d'explication sur une expression

7 réponses
Avatar
imej-clavier
Bonjour,

J'ai récupéré un bout de programme permettant de calculer le premier jour de
Pâques :
Private Function FirstDayOfEaster(InputYear As Integer) As Long
' Unknown author, source : Charles Pearson, cpearson@gvi.net
Dim D As Integer
D = (((255 - 11 * (InputYear Mod 19)) - 21) Mod 30) + 21
FirstDayOfEaster = DateSerial(InputYear, 3, 1) + D + (D > 48) + 6 - _
((InputYear + InputYear \ 4 + D + (D > 48) + 1) Mod 7)
End Function

Quelqu'un peut-il m'expliquer ce que signifie l'expression (D > 48) dans
cette procédure ?

D'avance merci,

Jean-michel

7 réponses

Avatar
LSteph
Bonjour,
D est ici une variable qui permet de simplifier l'expression
Tu peux facilement la remplacer par
nabuchodonosor ou ocatarinetabellatchitchi mais
c'est moins concis.

lSteph


"imej-clavier" a écrit dans le message de news:

Bonjour,

J'ai récupéré un bout de programme permettant de calculer le premier jour
de
Pâques :
Private Function FirstDayOfEaster(InputYear As Integer) As Long
' Unknown author, source : Charles Pearson,
Dim D As Integer
D = (((255 - 11 * (InputYear Mod 19)) - 21) Mod 30) + 21
FirstDayOfEaster = DateSerial(InputYear, 3, 1) + D + (D > 48) + 6 - _
((InputYear + InputYear 4 + D + (D > 48) + 1) Mod 7)
End Function

Quelqu'un peut-il m'expliquer ce que signifie l'expression (D > 48) dans
cette procédure ?

D'avance merci,

Jean-michel




Avatar
anonymousA
bonjour,

D>48 evalue une expression booléenne et renvoie 0 si FAUX et -1 si Vrai

A+

Bonjour,

J'ai récupéré un bout de programme permettant de calculer le premier jour de
Pâques :
Private Function FirstDayOfEaster(InputYear As Integer) As Long
' Unknown author, source : Charles Pearson,
Dim D As Integer
D = (((255 - 11 * (InputYear Mod 19)) - 21) Mod 30) + 21
FirstDayOfEaster = DateSerial(InputYear, 3, 1) + D + (D > 48) + 6 - _
((InputYear + InputYear 4 + D + (D > 48) + 1) Mod 7)
End Function

Quelqu'un peut-il m'expliquer ce que signifie l'expression (D > 48) dans
cette procédure ?

D'avance merci,

Jean-michel




Avatar
Ricky
Bonjour *anonymousA*

|
| | 48 evalue une expression booléenne et renvoie 0 si FAUX et -1 si
| | Vrai
|
| A+

+1 et non -1
Donc quand la valeur de D est supérieure à 48 on ajoute 1 sinon on n'ajoute rien


--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faqword.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net
Avatar
Modeste
Bonsour® LSteph
en effet c'est moins concis que :
=TRONQUE(DATE(A1;7;-CODE(STXT("NYdQJT_LWbOZeR]KU`";MOD(A1;19)+1;1)))/7)*7+"
8"

même que LL disait :
<<plus facile à comprendre, mais ô combien astucieuse!!!>>
;o))) ???

@+

wrote:
Bonjour,
D est ici une variable qui permet de simplifier l'expression
Tu peux facilement la remplacer par
nabuchodonosor ou ocatarinetabellatchitchi mais
c'est moins concis.

lSteph


"imej-clavier" a écrit dans le message de
news:
Bonjour,

J'ai récupéré un bout de programme permettant de calculer le premier
jour de
Pâques :
Private Function FirstDayOfEaster(InputYear As Integer) As Long
' Unknown author, source : Charles Pearson,
Dim D As Integer
D = (((255 - 11 * (InputYear Mod 19)) - 21) Mod 30) + 21
FirstDayOfEaster = DateSerial(InputYear, 3, 1) + D + (D > 48) + 6
- _ ((InputYear + InputYear 4 + D + (D > 48) + 1) Mod 7)
End Function

Quelqu'un peut-il m'expliquer ce que signifie l'expression (D > 48)
dans cette procédure ?

D'avance merci,

Jean-michel




Avatar
LSteph
;o))
Voilà une extraction qui à du caractère!

"Modeste" a écrit dans le message de news:

Bonsour® LSteph
en effet c'est moins concis que :
=TRONQUE(DATE(A1;7;-CODE(STXT("NYdQJT_LWbOZeR]KU`";MOD(A1;19)+1;1)))/7)*7+"
8"

même que LL disait :
<<plus facile à comprendre, mais ô combien astucieuse!!!>>
;o))) ???

@+

wrote:
Bonjour,
D est ici une variable qui permet de simplifier l'expression
Tu peux facilement la remplacer par
nabuchodonosor ou ocatarinetabellatchitchi mais
c'est moins concis.

lSteph


"imej-clavier" a écrit dans le message de
news:
Bonjour,

J'ai récupéré un bout de programme permettant de calculer le premier
jour de
Pâques :
Private Function FirstDayOfEaster(InputYear As Integer) As Long
' Unknown author, source : Charles Pearson,
Dim D As Integer
D = (((255 - 11 * (InputYear Mod 19)) - 21) Mod 30) + 21
FirstDayOfEaster = DateSerial(InputYear, 3, 1) + D + (D > 48) + 6
- _ ((InputYear + InputYear 4 + D + (D > 48) + 1) Mod 7)
End Function

Quelqu'un peut-il m'expliquer ce que signifie l'expression (D > 48)
dans cette procédure ?

D'avance merci,

Jean-michel








Avatar
LSteph
;o)) ...extraction qui a du caractère!

"Modeste" a écrit dans le message de news:

Bonsour® LSteph
en effet c'est moins concis que :
=TRONQUE(DATE(A1;7;-CODE(STXT("NYdQJT_LWbOZeR]KU`";MOD(A1;19)+1;1)))/7)*7+"
8"

même que LL disait :
<<plus facile à comprendre, mais ô combien astucieuse!!!>>
;o))) ???

@+

wrote:
Bonjour,
D est ici une variable qui permet de simplifier l'expression
Tu peux facilement la remplacer par
nabuchodonosor ou ocatarinetabellatchitchi mais
c'est moins concis.

lSteph


"imej-clavier" a écrit dans le message de
news:
Bonjour,

J'ai récupéré un bout de programme permettant de calculer le premier
jour de
Pâques :
Private Function FirstDayOfEaster(InputYear As Integer) As Long
' Unknown author, source : Charles Pearson,
Dim D As Integer
D = (((255 - 11 * (InputYear Mod 19)) - 21) Mod 30) + 21
FirstDayOfEaster = DateSerial(InputYear, 3, 1) + D + (D > 48) + 6
- _ ((InputYear + InputYear 4 + D + (D > 48) + 1) Mod 7)
End Function

Quelqu'un peut-il m'expliquer ce que signifie l'expression (D > 48)
dans cette procédure ?

D'avance merci,

Jean-michel








Avatar
anonymousA
bonjour,

sur mon PC j'ai essayé ca

Sub toto()

D = 49
MsgBox (D > 48) * 1

End Sub

j'obtiens -1 si D>48 et 0 si D<H mais peut-être ai je manqué quelque chose.

A+


Bonjour *anonymousA*

|
| | 48 evalue une expression booléenne et renvoie 0 si FAUX et -1 si
| | Vrai
|
| A+

+1 et non -1
Donc quand la valeur de D est supérieure à 48 on ajoute 1 sinon on n'ajoute rien


--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faqword.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net