Accueil Compétences Patterns Script batch Visual Basic Script déterminer le mois d'une semaine

déterminer le mois d'une semaine

Clique:
2022

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...

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