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

JOURS 360

3 réponses
Avatar
Marie Annick ROULLAND
Je désespère que quelqu'un puisse m'aider.

je n'arrive pas à comprendre comment excel puisse avoir une formule pour
calculer des intervalles entre deux dates sur une base d'une année de 360
jours et que Acces n'y arrive pas....

Raymond m'a aider avec ce code :

exemple:
Dim Date1 As Date
Dim Date2 As Date
Date1 = #1/1/2003#
Date2 = #6/15/2003#
MsgBox ((DateDiff("m", Date1, Date2)) * 30) + Format(Date2, "d") -
Format(Date1, "d") + 1

access va afficher 165 jours, le 15 juin étant inclus et le 1er janvier
exclus, jouer sur le +1 pour mettre +2 ou le supprimer selon l'option
choisie.

Cela fonctionne mais mes dates sont dans des contrôles ds mon formulaire et
je voudrais que le résultat aille dans un contrôle qui appelle "nbrejours"

Si quelqu'un peut m'aider car je suis complètement bloquée avec ça ....
Merci beaucoup d'avance

3 réponses

Avatar
Raymond
Bonjour Marie Annick .

je te propose une solution qui marche très bien:
placer la fonction suivante dan sun module standard:
Public Function Jours360(Date_Début As Date, Date_Fin As Date) As Long
Jours360 = ((DateDiff("m", Date_Début, Date_Fin)) * 30) _
+ Format(Date_Fin, "d") - Format(Date_Début, "d") + 1
End Function

supposons un contrôle madate et un contrôle différence. différence est égal
à l'intervalle entre Madate et la date du jour. Tu places ceci dans le
source contrôle de Différence:
=Jours360([madate];Date())

Je te laisse le soin de rajouter les contrôles d'erreurs tels valeur nulle,
valeur négative etc.....

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Marie Annick ROULLAND" a écrit dans le
message de news:

Je désespère que quelqu'un puisse m'aider.

je n'arrive pas à comprendre comment excel puisse avoir une formule pour
calculer des intervalles entre deux dates sur une base d'une année de 360
jours et que Acces n'y arrive pas....

Raymond m'a aider avec ce code :

exemple:
Dim Date1 As Date
Dim Date2 As Date
Date1 = #1/1/2003#
Date2 = #6/15/2003#
MsgBox ((DateDiff("m", Date1, Date2)) * 30) + Format(Date2, "d") -
Format(Date1, "d") + 1

access va afficher 165 jours, le 15 juin étant inclus et le 1er janvier
exclus, jouer sur le +1 pour mettre +2 ou le supprimer selon l'option
choisie.

Cela fonctionne mais mes dates sont dans des contrôles ds mon formulaire
et

je voudrais que le résultat aille dans un contrôle qui appelle "nbrejours"

Si quelqu'un peut m'aider car je suis complètement bloquée avec ça ....
Merci beaucoup d'avance




Avatar
Marie Annick ROULLAND
Merci Raymond,

C'est super, ça marche mais juste une chose tant que je n'ai pas de date
dans mes contrôles date Début et Date Fin j'ai "ERREUR" dans mon contrôle
Différence.. dès que je renseigne mes contrôles il met le bon résultat...
peux tu m'aider
Avatar
Raymond
je t'avais dit de gérer les erreurs.

Tu peux faire ainsi:
Jours360 = 0
If IsNull(Date_Début) Or IsNull(Date_Fin) Then Exit Function
Jours360 = ((DateDiff("m", Date_Début, Date_Fin)) * 30) _
+ Format(Date_Fin, "d") - Format(Date_Début, "d") + 1

Tu peux faire plusieurs variantes selon tes besoins.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Marie Annick ROULLAND" a écrit dans le
message de news:e%
Merci Raymond,

C'est super, ça marche mais juste une chose tant que je n'ai pas de date
dans mes contrôles date Début et Date Fin j'ai "ERREUR" dans mon contrôle
Différence.. dès que je renseigne mes contrôles il met le bon résultat...
peux tu m'aider