Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de calcul avec la fonction DiffDate

2 réponses
Avatar
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

2 réponses

Avatar
pgz
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



Avatar
Famille LE PETIT
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" a écrit dans le message de
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