1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| public function CalculerAnneeMoisJour(prmNbJour as long) as date
dim result as date
dim Jour as long
dim Mois as long
dim Annee as long
Annee=NbJour\360 '\ est la division entiere si cela ne donne pas les resultats voulus utilise / et int().
Mois=(NbJour-(Annee * 360))\30
Jour=(NbJour-(Annee * 360)-(Mois * 30)
if isdate(annee & "-" & mois & "-" & jour) then
'C'est une date valide
result=dateserial(annee, mois, jour)
else
if mois=2 then
'C'est probalement un 29 ou 30 fevrier
result=dateserial(annee, 2, 28) 'Ne gere pas les annees bisextile
else
'Au cas ou il y aurait une faille dans ma logique, je veux etre alete d'un cas qui ne devrait jamais se produire.
error 5
end if
end if
end function |
Partager