Semaine selon date

Expression du numéro de semaine borné "du ... au"

Une autre approche, à l'aide d'une autre méthode, plutôt originale ...

Function fnStrSemaine(LaDate As Date) As String
    Dim WeekISO As Integer
    'Adaptation de la formule de Laurent Longre
    Dim PremierJourSemaine As Date
    Dim DernierJourSemaine As Date

    WeekISO = Int((LaDate - (DateSerial(Year(LaDate - _
                              Weekday(LaDate - 1) + 4), 1, 3) - _
                              Weekday(DateSerial(Year(LaDate - _
                              Weekday(LaDate - 1) + 4), 1, 3))) + 5) / 7)

    PremierJourSemaine = IIf(Weekday(LaDate) = vbSunday, _
                             LaDate - Weekday(LaDate) - 5, _
                             LaDate - Weekday(LaDate) + 2)
    DernierJourSemaine = IIf(Weekday(LaDate) = vbSunday, _
                             LaDate - Weekday(LaDate) + 1, _
                             LaDate - Weekday(LaDate) + 8)
    fnStrSemaine = "Semaine N°" & WeekISO & " du " _
                  & Format(PremierJourSemaine, "dddd dd mmmm") _
                  & " au " _
                  & Format(DernierJourSemaine, "dddd dd mmmm yyyy")
End Function


Dernière modification : 08/02/2010 02:09
Catégorie : Les mémos - Dates - Heures
Page lue 8293 fois