Question 154

Comment ajouter des jours, mois, années ou autre à une date en Visual Basic ?

Visual Basic dispose d'une fonction très puissante (DateAdd) permettant d'ajouter (ou de soustraire) une certaine "quantité" à une date. Cette fonction est par exemple très pratique pour connaître la date après un certain intervalle de temps : quelle sera la date dans 10 jours, dans 2 semaines, dans 19 mois?

La fonction DateAdd() a le prototype suivant :

DateAdd(intervalle, nombre, dateDepart)

Son emploi est très simple : on spécifie la nature de l'intervalle à ajouter (jours, mois, etc.), on indique le nombre d'intervalles souhaité (positif pour une date dans le futur, négative pour une date dans le passé) et la date de départ souhaitée pour le calcul.

Le petit programme suivant présente quelques exemples d'utilisations :

Private Sub TestDateAdd()

    MsgBox "Demain : " & DateAdd("d", 1, Date)
     
    MsgBox "Dans 17 semaines : " & DateAdd("ww", 17, Date)
     
    MsgBox "Dans 2 ans : " & DateAdd("yyyy", 2, Date)
     
    MsgBox "Il y a 183 jours : " & DateAdd("d", -183, Date)
     
    MsgBox "67 jours après le 16-Mars-2007 : " & DateAdd("d", 67, "16/03/2007")
     
End Sub


La fonction DateAdd() est décrite de façon exhaustive dans MSDN : Fonction DateAdd()

Pour aller plus loin

Voir aussi :

Date de publication : 25 février 2007
Dernière modification : 25 février 2007
Rubriques : Date & heure
Mots-clés : DateAdd, jour, jours, mois, année, années, date, dates, opérations date, manipluation date