OVH Cloud OVH Cloud

Nombre de lundi, mardi ... dans un mois

2 réponses
Avatar
Valérie
Bonjour à tous,
comment puis je calculer le nombre de lundi, mardi .... dimanche dans un
mois (en fait sur tous les mois de l'année) ?
Merci pour vos reponses

2 réponses

Avatar
Raymond [mvp]
Bonjour.

une fonction simple à aménager pour faire tes calculs dans une boucle.
Dim Jours(7)
Dim Date_début As Date
Dim Date_fin As Date
Dim I As Date
Date_début = #3/1/2004#
Date_fin = #3/31/2004#
For I = Date_début To Date_fin Step 1
Jours(Weekday(I)) = Jours(Weekday(I)) + 1
Next I
MsgBox Jours(1)
MsgBox Jours(2)
MsgBox Jours(3)
MsgBox Jours(4)
MsgBox Jours(5)
MsgBox Jours(6)
MsgBox Jours(7)

jours(1) est le dimanche.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Valérie" a écrit dans le message de
news:c0qmfb$9sl$
Bonjour à tous,
comment puis je calculer le nombre de lundi, mardi .... dimanche dans un
mois (en fait sur tous les mois de l'année) ?
Merci pour vos reponses




Avatar
Michel Walsh
Salut,


Je n'ai pas testé à fond la formule qui suit, mais la logique est que si
je part le premier dit-di du moins, et que je lui ajoute 28 (jours) et que
la dite date est dans le même mois, c'est qu'il y a 5 dit-di dans le mois,
sinon, il n'y en a que quatre (il ne peut pas y en avoir 3, ni 6, seulement
4 ou 5)...

iif( LeMois= Month( 28+ Choose( WeekDay( DateSerial( Lannée, LeMois, 1),
LeDitDi ), 0, 6, 5, 4, 3, 2, 1 ) + DateSerial( Lannée, LeMois, 1) ) , 5,
4 )



Ainsi, pour LeDidit = MercreDi, Mars ( 3ième mois ) 2004:

? iif( 3= Month( 28+ Choose( WeekDay( DateSerial( 2004, 3, 1),
vbWednesday ), 0, 6, 5, 4, 3, 2, 1 ) + DateSerial( 2004, 3, 1) ) , 5,
4 )

5



Espérant être utile,
Vanderghast, Access MVP


"Valérie" wrote in message
news:c0qmfb$9sl$
Bonjour à tous,
comment puis je calculer le nombre de lundi, mardi .... dimanche dans un
mois (en fait sur tous les mois de l'année) ?
Merci pour vos reponses