Différence entre 2 dates dans une macro

joquetino

XLDnaute Junior
Bonjour à tous,

Je cherche à calculer le nombre d'années entre 2 dates. J'ai parcouru le forum, et visiblement il faut utiliser la fonction DATEDIF().
Seulement, moi je veux calculer cet écart dans une macro (en VBA), et non directement sous Excel (et DATEDIF n'est pas reconnu). Quelle fonction dois-je utiliser, sachant que j'aimerais calculer la chose suivante?

Différence entre 1er Janv 2007 et 1 er Mars 2008 = 1,2 (1 année et 2 mois)

Un grand merci d'avance
 

Baside

XLDnaute Impliqué
Re : Différence entre 2 dates dans une macro

Bonjour le Forum,

Pas de problème pour la solution, mais un petit bout de fichier serait le bienvenu pour voir d'où viennent les valeurs et sous quelle forme et où la réponse doit de placer.

Amicalement, Hervé.
 

wilfried_42

XLDnaute Barbatruc
Re : Différence entre 2 dates dans une macro

bonjour joquetino, le forum

dim dat1 as date, dat2 as date, dat3 as date, dif as single

dat1 = cdate("01/01/2007") : dat2 = cdate("01/03/2008") : dat3 = dat2-dat1
dif = (1900-year(dat3)+(month(dat3)/10)

oups collision : bonjour herve
 

joquetino

XLDnaute Junior
Re : Différence entre 2 dates dans une macro

Baside à dit:
Bonjour le Forum,

Pas de problème pour la solution, mais un petit bout de fichier serait le bienvenu pour voir d'où viennent les valeurs et sous quelle forme et où la réponse doit de placer.

Amicalement, Hervé.
Bonjour,

Voici un exemple de fichier très très simplifié.
Merci Wilfried pour votre solution, mais il m'indique un chiffre erroné visiblement.
 

Pièces jointes

  • Exemple.xls
    35.5 KB · Affichages: 223
  • Exemple.xls
    35.5 KB · Affichages: 248
  • Exemple.xls
    35.5 KB · Affichages: 235

Baside

XLDnaute Impliqué
Re : Différence entre 2 dates dans une macro

Bonjour le Forum, Wilfried_42,

Avec

dat1 = CDate("01/01/2007"): dat2 = CDate("01/03/2008"): dat3 = dat2 - dat1
dif = (1900 - Year(dat3) + (Month(dat3) / 10))
MsgBox Month(dat3) & " Mois et " & (Year(dat3) - 1900) & " An"

Amicalement, Hervé

P.S. Grandement inspiré de la solution de Wilfried
 

Discussions similaires

Réponses
15
Affichages
573

Statistiques des forums

Discussions
312 601
Messages
2 090 149
Membres
104 411
dernier inscrit
saidokhan