Différence entre 2 dates dans une macro

  • Initiateur de la discussion Initiateur de la discussion joquetino
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

joquetino

Guest
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
 
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é.
 
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
 
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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
1 K
Réponses
13
Affichages
861
Retour