Nombre d'années de mois et jours entre 2 dates

Signaler
-
eludemoncoeur3
Messages postés
1
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
30 juin 2010
-
:question) J'ai besoin de faire un prog qui calcul le nbre d'années de mois et de jours qu'il y a entre deux dates mais je ne sais pas comment faire.
J'attend votre aide avec impatiente.
Merci d'avance.
FloZix
:shy)

5 réponses

tu peux tester ça:

Sub CalculDate()
'Calcul le nombre d'Annees,Mois Jours
'entre 2 Dates

date1 = "10/08/1998"
date2 = "03/06/2001"
resultat = DateValue(date2) - DateValue(date1)

annee = Year(resultat) - 1900
mois = Month(resultat) - 1


If (Day(date2) - Day(date1)) >= 0 Then
jour = Day(date2) - Day(date1)
Else
Select Case Month(date2)
Case 1, 2, 4, 6, 8, 9, 11
jour = 31 - Day(date1) + Day(date2)
Case 3
On Error Resume Next
temp = "29/02/" & Year(date2)
temp = DateValue(temp)
If Err.Number <> 0 Then
jour = 28 - Day(date1) + Day(date2)
Else
jour = 29 - Day(date1) + Day(date2)
End If
Case Else
jour = 30 - Day(date1) + Day(date2)
End Select
End If

MsgBox (annee & " An(s) " & mois & " Mois " & jour & " Jour(s)")
End Sub
bonsoir
je m'aperçois que ma réponse d'hier n'est pas passée.
Je recommence mon message.

il y a une fonction qui permet de faire ce que vous voulez.
DateDiff(interval,date1,date2) qui retourne un variant (Long) indiquant le nombre d'intervalles entre deux dates si date1 et date2 sont deux variant (Date).

L'argument interval peut prendre de nombreuses valeurs :

yyyy pour année
q pour trimestre
m pour mois
y pour le jour de l'année
d pour jour
etc.

voir fonction dans l'aide en ligne

un exemple :

dim MyDate as Date
dim Msg

Mydate=inputBox("Entrez votre date, svp !")
Msg="Il s'est écoulé un nombre de jours à compter d'aujourd'hui = " & DateDiff("d";Now,MyDate)
msgbox Msg
Certes, mais la fonction datediff te donne soit le nombre d'annees séparant 2 dates soit les mois soit les jours...
MAIs si tu veux le resultat en annees,mois jours elle ne peut pas t'aider ex:tu obtiens 1232 jours que tu dois convertir en annees,mois jours (il faut tenir compte des annees bissectiles ausi)...
Messages postés
10
Date d'inscription
samedi 23 août 2003
Statut
Membre
Dernière intervention
31 décembre 2008

Suite de plusieur teste,. en voici plus précis

     maDureeJour = DateDiff("d", date01, date02)
     nbAns = maDureeJour \ 365.25
     nbmois2 = Abs(nbAns - (maDureeJour / 365.25))
     nbMois = Int(nbmois2 * 12)
    nbJours = Int(Abs(nbMois - (nbmois2 * 12)) * 365.25)


     Resutldata = (nbAns & " années " & nbMois & " mois " & nbJours & " jours ")

Elie
Messages postés
1
Date d'inscription
lundi 6 juillet 2009
Statut
Membre
Dernière intervention
30 juin 2010

écrire est un algo permettant de saisir deux dates d'une même année et d'afficher le nombre de jour séparant ces dates.Help me please