JOUR FERIÉ EN VB.NET

KaViDee Messages postés 262 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 18 juin 2008 - 16 avril 2003 à 16:57
ellandarGDE Messages postés 3 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 27 avril 2004 - 26 févr. 2004 à 11:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/6763-jour-ferie-en-vb-net

ellandarGDE Messages postés 3 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 27 avril 2004
26 févr. 2004 à 11:48
Tant qu'a faire d'etre en .NET l'etre completement :
Function BooJourFerie(ByVal Jour As Date) As Boolean
Dim JJ, AA, MM As Integer
Dim NbOr, Epacte As Integer
Dim PLune, Paques, Ascension, Pentecote As Date

JJ = Jour.Day
MM = Jour.Month
AA = Jour.Year

If JJ 1 And MM 1 Then Return True '1 Janvier
If JJ 1 And MM 5 Then Return True '1 Mai
If JJ 8 And MM 5 Then Return True '8 Mai
If JJ 14 And MM 7 Then Return True '14 Juillet
If JJ 15 And MM 8 Then Return True '15 Août
If JJ 1 And MM 11 Then Return True '1 Novembre
If JJ 11 And MM 11 Then Return True '11 Novembre
If JJ 25 And MM 12 Then Return True '25 Décembre

NbOr = (AA Mod 19) + 1
Epacte = CType((11 * NbOr - (3 + Int((2 + Int(AA / 100)) * 3 / 7))) Mod 30, Integer)
PLune = CDate("19/04/" & AA)
PLune = PLune.AddDays(-((Epacte + 6) Mod 30))
If Epacte 24 Then PLune PLune.AddDays(-1)
If Epacte = 25 And (AA >= 1900 And AA < 2000) Then PLune = PLune.AddDays(-1)

Paques = PLune.AddDays(-Weekday(PLune) + vbMonday + 7) 'Paques
If JJ Paques.Day And MM Paques.Month Then Return True

Ascension = Paques.AddDays(38) 'Ascension
If JJ Ascension.Day And MM Ascension.Month Then Return True

Pentecote = Ascension.AddDays(11) 'Pentecote
If JJ Pentecote.Day And MM Pentecote.Month Then Return True
Return False

End Function
cs_Falk Messages postés 31 Date d'inscription dimanche 16 mars 2003 Statut Membre Dernière intervention 19 avril 2003
16 avril 2003 à 23:07
Petite précision :
Migration de VB 6 vers VB.NET

Le type Short 16bits remplace le type Integer 16Bits
Le type Integer 16Bits devient le type Integer 32Bits
Le type long de 32Bits passe a 64bits
KaViDee Messages postés 262 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 18 juin 2008
16 avril 2003 à 16:57
Une petite remarque qui à pas grand chose a voir avec ta source:
en VB6, "Dim Variable As Integer" = "Dim Variable As Short" en VB.net
Rejoignez-nous