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

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. carole
       
      Merci je vais essayer.
      0