4 messages in org.openoffice.fr.prog[prog] calcul sur les dates
FromSent OnAttachments
GeGeJun 21, 2005 6:16 am 
Jean...@i-carre.netJun 21, 2005 6:22 am 
Jean...@i-carre.netJun 21, 2005 6:33 am 
GeGeJun 21, 2005 10:17 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[prog] calcul sur les datesActions...
From:GeGe (ggn@free.fr)
Date:Jun 21, 2005 6:16:07 am
List:org.openoffice.fr.prog

Bonjour,

Je me suis créé un formulaire où une date est calculée en fonction d'une autre, dans 2 champs de date (DateDebut et DateFin), avec une petite macro appelée sur "texte modifié" ou "Réception de focus" que voici:

Option Explicit Dim oDocument As Object, oForm As Object [ ... ] sub DateFin oDocument = ThisComponent oForm = oDocument.DrawPage.Forms.Standard

dim vDate as double dim vDateFin as double dim vYear as double, vMonth as double, vDay as double if oForm.DateDebut.date>0 then vDate= cdatefromiso(oForm.DateDebut.date) vDateFin =dateserial (year (vdate)+1, month (vdate), day (vdate))-2 oForm.DateFin.date = cdatetoiso(vDateFin) oForm.updateDouble(oForm.findColumn ("DATEFIN"), vDateFin) end if end sub

ma question porte sur la ligne qui est destinée à ajouter 1 an à DateDebut: vDateFin =dateserial (year (vdate)+1, month (vdate), day (vdate))-2

Pourquoi suis-je obligé d'enlever 2 jours pour avoir la date correcte à "+ 1 an"? Sans correction, j'obtiens systématiquement comme date à 1 an, la date de début + 1 an et 2 jours (20/06/2005 -> 22/06/2006).

Autre question: pourquoi j'obtiens une erreur pour les 2 premiers jours du mois si j'écris: vDateFin =dateserial (year (vdate)+1, month (vdate), day (vdate)-2) ?

Merci de m'éclairer

Amicalement Grégoire