Ajouter du temps

Résolu
cs_nicolasheurtevin Messages postés 88 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 29 août 2006 - 20 déc. 2004 à 13:29
cs_nicolasheurtevin Messages postés 88 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 29 août 2006 - 20 déc. 2004 à 14:17
Bonjour,

Je cherche à élaborer une fonction AjouteDuTemp de type Date qui me permette d'ajouter du temps à une date et de me retourner la date ainsi obtenue. La fonction aurait 4 paramètres :
LaDate : date à traiter
NbJours : nombre de jours à ajouter à la date à traiter
NbMois : nombre de mois à ajouter à la date à traiter
NbAnnées : nombre d'année à ajouter à la date à traiter

Exemple :

Date1=#20/12/2004#
Date2=AjouteDuTemp(Date,5,8,5)

Date2 contient au final ceci : #25/08/2009#

Si vous avez des pistes ...

Merci infiniment !

Nicolas (http://pagesperso.laposte.net/heurteweb/)

5 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
20 déc. 2004 à 14:05
Private Function AjouteduTemp(dt As Date, jours As Integer, mois As Integer, années As Integer) As Date
    Dim d As Date
    d = DateAdd("d", jours, dt)
    d = DateAdd("m", mois, d)
    d = DateAdd("yyyy", années, d)
    AjouteduTemp = d
End Function


Daniel
3
cs_nicolasheurtevin Messages postés 88 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 29 août 2006
20 déc. 2004 à 13:44
Une petite erreur s'est glissée, il fallait lire :

Date2=AjouteDuTemp(Date1,5,8,5)

Sinon j'ai omis de préciser qu'il faut que la fonction gère les années bissextiles, en effet mettons que Date1=#20/12/2004#
Si on applique Date2=AjouteDuTemp(Date1,0,3,0)
On doit obtenir Date2=#20/03/2005# et non #21/03/2005# !!

Nicolas (http://pagesperso.laposte.net/heurteweb/)
0
cs_nicolasheurtevin Messages postés 88 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 29 août 2006
20 déc. 2004 à 13:48
Dans le même registre,

si Date1=#30/01/2005#
et que Date2=AjouteDuTemp(Date1,0,1,0)
On doit obtenir Date2=#28/02/2005#

Nicolas (http://pagesperso.laposte.net/heurteweb/)
0
addamsmercredi Messages postés 121 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 27 juillet 2006
20 déc. 2004 à 14:02
Voici une simple petite piste :

Simplement en ajoutant à une date un nombre de jours, ça calcule la date suivante automatiquement en tenant compte des années bissextiles et autres.

Par exemple :
Dim unedate as Date
unedate = Date
Msgbox ("Aujourd'hui, on est le " & unedate)
unedate = unedate + 500
Msgbox ("Dans 500 jours, on sera le " & unedate)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_nicolasheurtevin Messages postés 88 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 29 août 2006
20 déc. 2004 à 14:17
Nickel Gobillot c'est exactement ça !

Merci merci merci !

Nicolas (http://pagesperso.laposte.net/heurteweb/)
0
Rejoignez-nous