Nombre de jours entre deux dates (format jj/mmmm/yyyy)

Fermé
mika12345 Messages postés 2 Date d'inscription vendredi 24 mai 2013 Statut Membre Dernière intervention 30 novembre 2016 - 30 nov. 2016 à 15:02
yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024 - 30 nov. 2016 à 19:58
Bonjour,

Je souhaite calculer le nombre de jours entre deux dates sachant que ces dernières sont au format "jj/mmmm/aaaa".

Ci-dessous mon code :


Function duree() As Integer

Dim datedeb As String, datefin As String
'datedeb est la date de début
'datefin est la date de fin

datedeb = CStr(UserForm1.jour1.Value) & " " & UserForm1.mois1.Value & " " & CStr(UserForm1.annee1.Value)
datefin = CStr(UserForm1.jour2.Value) & " " & UserForm1.mois2.Value & " " & CStr(UserForm1.annee2.Value)

duree = DateDiff("dateinterval.day", datedeb, datefin)

'La durée dans le modèle est calculé en nombre de jour
End Function


le problème intervient au niveau du calcul de la durée, le debug m'indique "type mismatch".
Pour info, datedeb donne ici "30 Mars 2016" et datefin "30 Mars 2017".

Les données jour, mois et année sont selectionnées dans un userform dans lequel j'ai rentré les jours de 1 à 30, les mois de janvier à décembre etc de facon manuelle dans une liste déroulante.

Merci !
A voir également:

1 réponse

yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024 1 471
30 nov. 2016 à 19:58
Suggestions :
Dim datedeb As date, datefin As date
...
duree = DateDiff("d", datedeb, datefin)

Autre suggestion: passer les valeurs du formulaire comme paramètre à la fonction, au lieu d'aller chercher ces valeurs à partir de la fonction.
0