Reponse à Castours

Fermé
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

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Bonjour,
    Pour répondre à une question, il faut cliquer sur le bouton "répondre" au lieu d'ouvrir une nouvelle discussion.
    Merci
    1. 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