Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 
Re : Différence entre 2 dates dans une macro

Re

Je viens de voir que j'avais laissé la ligne dans le code, mais le principal, bien sûr, était le code de la Msgbox :lol:

A plus

Cela marche, c'est le principal
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…