Home
Home

---Soumis par Lewis Moseley---

Diverses manipulations sur des dates.

    Voici quelques manipulations simples sur des dates qui permette de retourner des dates dans le passé ou le futur.

    Noter qu'on peut combiner ces fonctions, comme pour trouver le dernier jour du prochain mois:

        newdate = LastOfMonth( NextMonth( olddate ) )

'*************************** Code Start *******************************
'Ce code fut originalement soumis par Lewis Moseley.
'Il ne doit être ni altéré, ni distribué
'sauf comme partie intégrée à une application.
'Vous êtes libre d'utiliser ce code 
'à la condition de laisser cette note, sans modification.

'Code Courtesy of
'Lewis Moseley
'
Function FirstOfMonth(InputDate As Date)
'  Retourne la date du premier jour du mois de la date fournie
Dim D As Integer, M As Integer, Y As Integer

    If IsNull(InputDate) Then
        FirstOfMonth = Null
    Else
        D = Day(InputDate)
        M = Month(InputDate)
        Y = Year(InputDate)
        FirstOfMonth = DateSerial(Y, M, 1)
    End If
End Function

Function LastOfMonth(InputDate As Date)
'  Retourne la date du dernier jour du moins de la date fournie
Dim D As Integer, M As Integer, Y As Integer
    
    If IsNull(InputDate) Then
        LastOfMonth = Null
    Else
        D = Day(InputDate)
        M = Month(InputDate)
        Y = Year(InputDate)
        'trouve le premier du prochain mois, soustraire un jour
        LastOfMonth = DateAdd("m", 1, DateSerial(Y, M, 1)) - 1
    End If
End Function

Function NextMonth(InputDate As Date)
'  Retourne la date dans un mois.
    NextMonth = DateAdd("m", 1, InputDate)
End Function

Function LastMonth(InputDate As Date)
'  Retourne la date du mois précédant.
   LastMonth = DateAdd("m", -1, InputDate)
End Function

Function SetDayOfMonth(InputDate As Date, DayToSet As Integer)
'  Retourne la date du jour spécifié, conservant l'année et le mois du second argument
Dim M As Integer, Y As Integer

    If IsNull(InputDate) Then
        SetDayOfMonth = Null
    Else
        M = Month(InputDate)
        Y = Year(InputDate)
        SetDayOfMonth = DateSerial(Y, M, DayToSet)
    End If
End Function
'*************************** Code End  *******************************