JOUR FERIÉ EN VB.NET

Signaler
Messages postés
262
Date d'inscription
dimanche 1 septembre 2002
Statut
Membre
Dernière intervention
18 juin 2008
-
Messages postés
3
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
27 avril 2004
-
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

Messages postés
3
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
27 avril 2004

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
Messages postés
31
Date d'inscription
dimanche 16 mars 2003
Statut
Membre
Dernière intervention
19 avril 2003

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
Messages postés
262
Date d'inscription
dimanche 1 septembre 2002
Statut
Membre
Dernière intervention
18 juin 2008

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