calcul du nombre de mois entre deux dates

battit64

XLDnaute Nouveau
j'essaye de calculer le nombre de mois entre deux dates en vba excel
j'ai trouvé ce type de fonction en visual basic mais cela ne fonctionne pas sous excel

quelqu'un as t'il une idée
dim date1 as date
dim date2 as date
dim nbre_mois as integer
date1= 01/01/2007
date2=01/05/2007
nbre_mois = Datediff(DateInterval.Month, date1, date2)
 

Excel-lent

XLDnaute Barbatruc
Re : calcul du nombre de mois entre deux dates

Slt,

En VBA je ne sais pas, mais en language Excel, la formule idéal est :

=(ANNEE(A2)-ANNEE(A1))*12+MOIS(A2)-MOIS(A1)

Avec :
-> (A1) date début
-> (A2) date fin

Il ne vous reste plus qu'a le traduire en VBA ;)
 

Excel-lent

XLDnaute Barbatruc
Re : calcul du nombre de mois entre deux dates

Excel-lent à dit:
Il ne vous reste plus qu'a le traduire en VBA ;)

Vous donnez votre langue au chat?

Bon, voici la solution :

Sub NbMois()
'Définition des variables

' Date1 => date de début
Dim dat1 As Date
'Date2 => date de fin
Dim dat2 As Date
Dim nbre_mois As Integer

dat1 = Range("A1")
dat2 = Range("a2")

nbre_mois = (Year(dat2) - Year(dat1)) * 12 + Month(dat2) - Month(dat1)
Range("a3") = nbre_mois

End Sub


Dans la macro ci-dessus :
-> la date de début est saisie en A1
-> la date de fin est saisie en A2
-> le résultat est affiché en A3

Bonne soirée
 

JeanMarie

XLDnaute Barbatruc
Re : calcul du nombre de mois entre deux dates

Bonsoir tout le monde

Mais si Monique, tu te mets aussi au VBA sans le savoir, en VBA c'est aussi DateDiff
Renvoie une valeur de type Variant (Long) indiquant le nombre d'intervalles de temps entre deux dates données.
Syntaxe
DateDiff(interval, date1, date2[, firstdayofweek][, firstweekofyear])


Code de la variable Interval
  • yyyy : Année
  • t : Trimestre
  • m : Mois
  • y : Jour de l'année
  • d : Jour
  • e : Jour de la semaine
  • ee : Semaine
  • h : Heure
  • n : Minute
  • s : Seconde

@+Jean-Marie
 

gbinforme

XLDnaute Impliqué
Re : calcul du nombre de mois entre deux dates

bonsoir à tous,

Alors j'ai testé les trois formules VBA + la formule de Monique.

En règle générale, les 4 résultats sont identiques, sauf quelques particularités qui démontrent presque les limites d'Excel...

Combien de mois entre le 01/01 et le 31/12 ?

datdif en trouve 11 !!!

Si je suis payé au mois, c'est pas ma solution...
 

Excel-lent

XLDnaute Barbatruc
Re : calcul du nombre de mois entre deux dates

Pour ma part, les deux solutions que je t'ai donné (excel et vba), elles comptes le nb de mois totaux, même les non échus.

Comme toi, je préfère toucher 12 salaires entre le 01/01 et le 31/12.

Quoique, 13 voir 14 mensualités me dérangerais pas!!! :D
 

Discussions similaires

Réponses
15
Affichages
355

Statistiques des forums

Discussions
311 719
Messages
2 081 881
Membres
101 829
dernier inscrit
listener75