Problème de calcul avec la fonction DiffDate

Le
Famille LE PETIT
Bonjour.

J'utilise la fonction DiffDate pour déterminer la différence en nombre de
mois entre une date de début et une date de fin.
Là où cela se complique, c'est que la fonction DiffDate revoie un entier
quand je veux connaître la différence avec une décimale.
Par exemple, entre le 1er janvier et le 15 février, je veux obtenir 1,5.
Entre le 15 janvier et le 22 juin, je souhaite obtenir 5,2.

J'ai pensé utiliser la différence entre le nombre de semaine mais j'obtiens
des résulats abhérants comme 7,8 entre le 1er janvier et le 31 août.

Je comprends que mon erreur tient à l'absence de prise en compte de la durée
des mois.

Comment puis-je corriger cela ?

Je vous remercie par avance pour aide.
Arnaud
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
pgz
Le #6381561
Bonjour.

Il faudrait que tu sois plus précis sur ta définition de fonction pour que
l'on puisse répondre à coup sûr à ton besoin.
Voici cependant une expression toute simple qui devrait te donner un
résultat intéressant, sans utiliser DateDiff :

nbM = round((D2-D1) * 12 / 365,1)

la fonction Round te permet de choisir le nb de décimales.

Bon courage
--
pgz

"Ce qui se conçoit mal s''exprime obscurément et les mots pour le dire
arrivent péniblement." - dicomoche.net
_____________________________
pgz.conseil at orange.fr



Bonjour.

J'utilise la fonction DiffDate pour dterminer la diffrence en nombre de
mois entre une date de dbut et une date de fin.
L o cela se complique, c'est que la fonction DiffDate revoie un entier
quand je veux connatre la diffrence avec une dcimale.
Par exemple, entre le 1er janvier et le 15 fvrier, je veux obtenir 1,5.
Entre le 15 janvier et le 22 juin, je souhaite obtenir 5,2.

J'ai pens utiliser la diffrence entre le nombre de semaine mais j'obtiens
des rsulats abhrants comme 7,8 entre le 1er janvier et le 31 aot.

Je comprends que mon erreur tient l'absence de prise en compte de la dure
des mois.

Comment puis-je corriger cela ?

Je vous remercie par avance pour aide.
Arnaud



Famille LE PETIT
Le #6381551
Bonjour et merci.
Je viens de corriger ma formule avec tes conseils ; les résultats que
j'obtiens me semblent plus juste.
Cordialement, Arnaud


"pgz" news:
Bonjour.

Il faudrait que tu sois plus précis sur ta définition de fonction pour que
l'on puisse répondre à coup sûr à ton besoin.
Voici cependant une expression toute simple qui devrait te donner un
résultat intéressant, sans utiliser DateDiff :

nbM = round((D2-D1) * 12 / 365,1)

la fonction Round te permet de choisir le nb de décimales.

Bon courage
--
pgz

"Ce qui se conçoit mal s''exprime obscurément et les mots pour le dire
arrivent péniblement." - dicomoche.net
_____________________________
pgz.conseil at orange.fr



Bonjour.

J'utilise la fonction DiffDate pour dterminer la diffrence en nombre de
mois entre une date de dbut et une date de fin.
L o cela se complique, c'est que la fonction DiffDate revoie un entier
quand je veux connatre la diffrence avec une dcimale.
Par exemple, entre le 1er janvier et le 15 fvrier, je veux obtenir 1,5.
Entre le 15 janvier et le 22 juin, je souhaite obtenir 5,2.

J'ai pens utiliser la diffrence entre le nombre de semaine mais j'obtiens
des rsulats abhrants comme 7,8 entre le 1er janvier et le 31 aot.

Je comprends que mon erreur tient l'absence de prise en compte de la
dure
des mois.

Comment puis-je corriger cela ?

Je vous remercie par avance pour aide.
Arnaud





Publicité
Poster une réponse
Anonyme