déterminer le mois d'une semaine
- Clique:
- 3755
Réponse
Fonction sympatique pour récupérer à partir de l'année et du numéro de la semaine le mois .
Le principe est assez simple (ajout de n semaine à partir du début de l'année), mais il faut aussi gérer une spécificités sur la détermination de la premiere semaine de l'année.
En France, la premiere semaine de l'année est celle qui contient plus de quatre jours, dans les pays anglo-saxons, la premiere semaine est celle qui contient le premier jours de l'année.
Quelquefois ce ne sont pas les memes semaines...
Le principe est assez simple (ajout de n semaine à partir du début de l'année), mais il faut aussi gérer une spécificités sur la détermination de la premiere semaine de l'année.
En France, la premiere semaine de l'année est celle qui contient plus de quatre jours, dans les pays anglo-saxons, la premiere semaine est celle qui contient le premier jours de l'année.
Quelquefois ce ne sont pas les memes semaines...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Public Function F_getMois(szAnneeSemaine) As String If Len(szAnneeSemaine) > 0 Then szAnnee = Left(szAnneeSemaine, 4) szSemaine = Right(szAnneeSemaine, 2) If Format("01/01/" & szAnnee, "ww", vbMonday, vbFirstFourDays) = "1" Then ' si le premier jour est dans l'année en cours F_getMois = MonthName(Month(DateAdd("ww", CDbl(szSemaine) - 1, "01/01/" & szAnnee))) Else ' si le premier jours est dans l'année d'avant F_getMois = MonthName(Month(DateAdd("ww", CDbl(szSemaine), "01/01/" & szAnnee))) End If Else F_getMois = "" End If End Function |