Je recherche une fonction qui me permettrait de connaître le nombre d'un jour donné de la semaine dans un mois donné.
En supposant que cette fonction s'appelle : NbJSMois
et que nous comptions les jours de la semaine de la manière suivante :
Lundi = 1, Mardi = 2, ..., Dimanche = 7
Function NBJSMois(jour As Byte, mois As Byte, an%) As Byte
Dim deb As Date, wd As Byte
deb = DateSerial(an, mois, 1)
wd = Weekday(deb, 2)
NBJSMois = 4 - (Month(deb + jour - wd + IIf(jour < wd, 7, 0) + 28) = mois)
End Function
J'ai un peu galéré en VBA à cause de la fonction Mod (que je n'utilise finalement pas).
[COLOR="DarkSlateGray"]="Nombre de "&CHOISIR(B1;"lundis";"mardis";"mercredis";"jeudis";"vendredis";"samedis";"dimanches")&" en "&CHOISIR(B2;"janvier";"février";"mars";"avril";"mai";"juin";"juillet";"août";"septembre";"octobre";"novembre";"décembre")&" "&B3[/COLOR]
Re : Fonction qui renvoie le nombre d'un jour donné de la semaine dans un mois donné
Bonjour à tous,
Bonjour job75
Il est correct que ceux qui suivent une discussion depuis son début aient la primeur des résultats...
Ceci dit, j'ai oublié la fonction en VB ce matin :
Code:
[COLOR="DarkSlateGray"]Function NBJSMois(jSem As Integer, nMois As Integer, An As Integer) As Integer
NBJSMois = 4 - (Day(DateSerial(An, nMois + 1, 0)) - Weekday(DateSerial(An, nMois + 1, 1 - jSem), 2) > 27)
End Function[/COLOR]