Reponse à Castours

Fermé
Tessel75 - 28 nov. 2015 à 02:36
 Tessel75 - 28 nov. 2015 à 15:30
Bonjour Castours,
La question :
Temps: VraiFaux(Mois([Date/Nais])<Mois([Date/Sais]) Ou (Mois([Date/Nais])=Mois([Date/Sais]) Et Jour([Date/Nais])<Jour([Date/Sais]));Année([Date/Sais])-Année([Date/Nais])-1;Année([Date/Sais])-Année([Date/Nais])) & " ans " & VraiFaux(Mois([Date/Sais])>Mois([Date/Nais]);12-Abs(Mois([Date/Nais])-Mois([Date/Sais]));Mois([Date/Nais])-Mois([Date/Sais])) & " mois " & VraiFaux(Jour([Date/Sais])>Jour([Date/Nais]);365-Abs(Jour([Date/Nais])-Jour([Date/Sais]));Jour([Date/Nais])-Jour([Date/Sais])) & " Jours"
Dans ce vrai faux, on calcule la periode en année mois jour.
Peux tu m'aider a modifier ce calcule le nombre de semaines
C'est a dire ans mois semaine jours
Je te remercie
Castoursl

Je découvre ta question à cette heure (02:30)
ça me parait bien compliqué, vue l'heure je préfère regarder attentivement demain.
A +
Tessel


2 réponses

jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
28 nov. 2015 à 02:38
Bonjour,
Pour répondre à une question, il faut cliquer sur le bouton "répondre" au lieu d'ouvrir une nouvelle discussion.
Merci
0
Bonjour Castours,
Il a fallu que je réécrive toute la formule pour la comprendre, ça donne :

AN = Année([Date/Nais])
AS = Année([Date/Sais])
MN = Mois([Date/Nais])
MS = Mois([Date/Sais])
JN = Jour([Date/Nais])
JS = Jour([Date/Sais])
VraiFaux(MN < MS Ou (MN = MS Et JN < JS ) ; AS -AN -1 ; AS -AN ) & " ans "
& VraiFaux( MS > MN ; 12 - Abs(MN -MS ) ; MN -MS ) & " mois "
& VraiFaux( JS > JN ; 365-Abs(JN - JS) ; JN -JS) & " Jours"


A mon sens pour introduire le nbre de semaines, il faudrait soit passer par la fonction "week()" qui calcule le N° de la semaine dans l'année, soit directement en calculant le nombre de jours restant après le compte des années et des mois, et en le divisant par 7. Ainsi on aurait :
Abs(VraiFaux( JS > JN ; 365-Abs(JN - JS) ; JN -JS) / 7) & "sem"

Mais je ne comprends pas pourquoi cette formulation :
==> . VraiFaux( JS > JN ; 365-Abs(JN - JS) ; JN -JS)
alors qu'on devrait avoir :
==> . VraiFaux( JS > JN ; JS - JN ; 365 + (JS - JN)

A plus tard
0