Ajouter une durée à une date

Fermé
carole - 9 juin 2011 à 09:58
 carole - 9 juin 2011 à 14:05
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 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 313
9 juin 2011 à 11:36
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
Merci je vais essayer.
0