Ajouter une durée à une date

carole -  
 carole -
Bonjour,

je cherche à ajouter à une date sur excel une durée en année mois jours afin de trouver une nouvelle date. j'ai une fonction que j'ai créée sur VBA mais le résultat n'est pas au jour près. Par exemple : date de départ : 01/02/2011 date à laquelle j'ajoute 2 ans tout rond, je ne trouve pas forcément 01/02/2013 mais à quelques jours près seulement.

voici ma formule :

Function ajoutduree(datedepart, annee, mois, jour)

'etape 1 : recomposer une date à partir d'une durée en année mois jour
daterecomposee = DateSerial(annee + 1, mois + 1, jour + 1)

'etage 2 : transformer la date en nombre de jours
nbjours = DateDiff("d", "01/01/2001", daterecomposee)

'étape 3 : ajout durée
ajoutduree = datedepart + nbjours

End Function

Merci de me venir en aide.

Carole

1 réponse

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour

proposition ('pour ajouter 2 ans pile)
Function ajoutduree(ByVal depart As Date, nb_an As Byte, nb_ms As Byte, nb_jr As Byte) As Date
ajoutduree = DateSerial(Year(depart) + nb_an, Month(depart) + nb_ms, Day(depart) + nb_jr)
End Function

Sub test()
olddate = CDate("1/2/2011")
newdate = ajoutduree(olddate, 2, 0, 0)
End Sub
0
carole
 
Merci je vais essayer.
0