PROCEDURE gCalculDateFin(dDateDebut est une Date, nCombien est un entier=0, sTemps est chaîne = "J")
bvalid est un booléen = DateValide(dDateDebut)
resDate est une Date = dDateDebut
SI bvalid=Vrai ALORS
SI sTemps = "A" ALORS // Durée en années
resDate..Année += nCombien
FIN
SI sTemps = "M" ALORS // Durée en mois
resDate..Mois += nCombien
FIN
SI sTemps = "DM" ALORS // Durée en mois => Date de début de mois
resDate..Jour += nCombien
resDate..Jour = 1
FIN
SI sTemps = "FM" ALORS // Durée en mois => Date de fin de mois
resDate..Jour += nCombien
resDate..Jour = 31
FIN
SI sTemps = "J" ALORS // Durée en jours
resDate..Jour += nCombien
FIN
SI sTemps = "JFM" ALORS // Durée en jours => Date fin de mois
resDate..Jour += nCombien
resDate..Jour = 31
FIN
RENVOYER resDate
SINON
Erreur("Erreur dans le calcul de date")
RENVOYER ""
FIN
"Georges Peyre" a écrit dans le message de news:
Bonjour,
Je veux obtenir par calcul une date, en partant d'une date saisie à laquelle on ajoute ( ou retranche ) une durée en années, mois et jours
Je cherche ce code
Merci d'avance
Cordialement
-- Elle est pas belle la vie ?
Georges Peyre
Bonjour Juliane, Et merci pour votre procédure. Cependant je crois ne pas savoir comment l'utiliser pour ce que je cherche car la durée n'est pas en année ou en mois ou en jours, mais en année ET mois ET jour Comment utiliser votre procédure pour leq cas suivants : Exemples : Quelle est la date qui correspond à 3 ans, 3 mois et 22 jours AVANT le 02-04-2005 ou Quelle sera la date dans 2 ans, 5 mois et 3 jours APRES le 28-04-2005
Dans ce cas comment utiliser votre procédure ?
Cordialement
Juliane a émis l'idée suivante :
Bonjour,
Une petite procédure qui marche bien :
PROCEDURE gCalculDateFin(dDateDebut est une Date, nCombien est un entier=0, sTemps est chaîne = "J")
-- Elle est pas belle la vie ?
Bonjour Juliane,
Et merci pour votre procédure.
Cependant je crois ne pas savoir comment l'utiliser pour ce que je
cherche car la durée n'est pas en année ou en mois ou en jours, mais en
année ET mois ET jour
Comment utiliser votre procédure pour leq cas suivants :
Exemples :
Quelle est la date qui correspond à 3 ans, 3 mois et 22 jours AVANT le
02-04-2005
ou
Quelle sera la date dans 2 ans, 5 mois et 3 jours APRES le 28-04-2005
Dans ce cas comment utiliser votre procédure ?
Cordialement
Juliane a émis l'idée suivante :
Bonjour,
Une petite procédure qui marche bien :
PROCEDURE gCalculDateFin(dDateDebut est une Date, nCombien est un entier=0,
sTemps est chaîne = "J")
Bonjour Juliane, Et merci pour votre procédure. Cependant je crois ne pas savoir comment l'utiliser pour ce que je cherche car la durée n'est pas en année ou en mois ou en jours, mais en année ET mois ET jour Comment utiliser votre procédure pour leq cas suivants : Exemples : Quelle est la date qui correspond à 3 ans, 3 mois et 22 jours AVANT le 02-04-2005 ou Quelle sera la date dans 2 ans, 5 mois et 3 jours APRES le 28-04-2005
Dans ce cas comment utiliser votre procédure ?
Cordialement
Juliane a émis l'idée suivante :
Bonjour,
Une petite procédure qui marche bien :
PROCEDURE gCalculDateFin(dDateDebut est une Date, nCombien est un entier=0, sTemps est chaîne = "J")
-- Elle est pas belle la vie ?
Marcel.berman
Salut !
J'essaierais ceci :
CalculDate(daDate est une date, duDurée est une durée,nSens est un entier=+1) // daDate est la date à partir de laquelleon vacalculer // duDurée est la durée que l'on va, selon les cas, ajouter ou soustraire // nSens est un entier égal à +1 ou -1 selon que l'on veaut ajouter ousoustraire la durée à la date ...
!! Pas vérifié !! En espérant que cela marche ! Je me pose des questions en ce qui concerne la soustraction ... Quid si le résultat mois ou jour est 0 ? WD gère t'il ce cas ? Je ne sais pas/plus ... sinon, on peut faire un petit test avant de soustraire ...
Bien à toi! -- Marcel Berman c/o Managing Business SPRL Allée du Petit Paris, 11 B - 1410 - Waterloo Tel : +32 2 351.60.64 Fax : +32 2 351.45.78 Gsm : +32 475.799.477
Salut !
J'essaierais ceci :
CalculDate(daDate est une date, duDurée est une durée,nSens est un
entier=+1)
// daDate est la date à partir de laquelleon vacalculer
// duDurée est la durée que l'on va, selon les cas, ajouter ou soustraire
// nSens est un entier égal à +1 ou -1 selon que l'on veaut ajouter
ousoustraire la durée à la date ...
!! Pas vérifié !!
En espérant que cela marche !
Je me pose des questions en ce qui concerne la soustraction ... Quid si le
résultat mois ou jour est 0 ?
WD gère t'il ce cas ?
Je ne sais pas/plus ...
sinon, on peut faire un petit test avant de soustraire ...
Bien à toi!
--
Marcel Berman
c/o Managing Business SPRL
Allée du Petit Paris, 11
B - 1410 - Waterloo
Tel : +32 2 351.60.64
Fax : +32 2 351.45.78
Gsm : +32 475.799.477
CalculDate(daDate est une date, duDurée est une durée,nSens est un entier=+1) // daDate est la date à partir de laquelleon vacalculer // duDurée est la durée que l'on va, selon les cas, ajouter ou soustraire // nSens est un entier égal à +1 ou -1 selon que l'on veaut ajouter ousoustraire la durée à la date ...
!! Pas vérifié !! En espérant que cela marche ! Je me pose des questions en ce qui concerne la soustraction ... Quid si le résultat mois ou jour est 0 ? WD gère t'il ce cas ? Je ne sais pas/plus ... sinon, on peut faire un petit test avant de soustraire ...
Bien à toi! -- Marcel Berman c/o Managing Business SPRL Allée du Petit Paris, 11 B - 1410 - Waterloo Tel : +32 2 351.60.64 Fax : +32 2 351.45.78 Gsm : +32 475.799.477
Georges Peyre
Bonjour
Merci à tous pour votre aide
Gilles Guédikian a formulé la demande :
D est une date="20050402"
D..année -= 3 D..mois -= 5 D..jour -= 3
Info(D)
Après vérification je vais utiliser cette formule pour soustraire et celle-ci pour ajouter la durée à une date
D..Année += 3 D..Mois += 5 D..Jour += 3
Cordialement
-- Elle est pas belle la vie ?
Bonjour
Merci à tous pour votre aide
Gilles Guédikian a formulé la demande :
D est une date="20050402"
D..année -= 3
D..mois -= 5
D..jour -= 3
Info(D)
Après vérification je vais utiliser cette formule pour soustraire
et celle-ci pour ajouter la durée à une date
Après vérification je vais utiliser cette formule pour soustraire et celle-ci pour ajouter la durée à une date
D..Année += 3 D..Mois += 5 D..Jour += 3
Cordialement
-- Elle est pas belle la vie ?
Juliane
Bonjour,
Personnellement, je l'utilise en procédure globale, et si j'ai plusieurs éléments à calculer, je la lance plusieurs fois de suite, style :
dDateDepart est une date = "20050428" dDate = gCalculDateFin(dDateDepart,2,"A") dDate = gCalculDateFin(dDateDepart,5,"M") dDate = gCalculDateFin(dDateDepart,3,"J")
Et cela marche aussi en négatif : dDateDepart est une date = "20050402" dDate = gCalculDateFin(dDateDepart,-3,"A") dDate = gCalculDateFin(dDateDepart,-3,"M") dDate = gCalculDateFin(dDateDepart,-22,"J")
Par ailleurs, après mon post, j'ai réalisé que cela serait plus simple d'écrire "SELON ... CAS" plutôt que des "SI" multiples !!! Comme quoi, même faire des réponses permet de s'améliorer soi-même ...
Cordialement
"Georges Peyre" a écrit dans le message de news:
Bonjour Juliane, Et merci pour votre procédure. Cependant je crois ne pas savoir comment l'utiliser pour ce que je cherche car la durée n'est pas en année ou en mois ou en jours, mais en année ET mois ET jour Comment utiliser votre procédure pour leq cas suivants : Exemples : Quelle est la date qui correspond à 3 ans, 3 mois et 22 jours AVANT le 02-04-2005 ou Quelle sera la date dans 2 ans, 5 mois et 3 jours APRES le 28-04-2005
Dans ce cas comment utiliser votre procédure ?
Cordialement
Juliane a émis l'idée suivante : > Bonjour, > > Une petite procédure qui marche bien : > > PROCEDURE gCalculDateFin(dDateDebut est une Date, nCombien est un
entier=0,
> sTemps est chaîne = "J") >
-- Elle est pas belle la vie ?
Bonjour,
Personnellement, je l'utilise en procédure globale, et si j'ai plusieurs
éléments à calculer, je la lance plusieurs fois de suite, style :
dDateDepart est une date = "20050428"
dDate = gCalculDateFin(dDateDepart,2,"A")
dDate = gCalculDateFin(dDateDepart,5,"M")
dDate = gCalculDateFin(dDateDepart,3,"J")
Et cela marche aussi en négatif :
dDateDepart est une date = "20050402"
dDate = gCalculDateFin(dDateDepart,-3,"A")
dDate = gCalculDateFin(dDateDepart,-3,"M")
dDate = gCalculDateFin(dDateDepart,-22,"J")
Par ailleurs, après mon post, j'ai réalisé que cela serait plus simple
d'écrire "SELON ... CAS" plutôt que des "SI" multiples !!!
Comme quoi, même faire des réponses permet de s'améliorer soi-même ...
Cordialement
"Georges Peyre" <g.peyre@wanadoo.fr> a écrit dans le message de
news:mn.343e7d5bd8980c44.17528@wanadoo.fr...
Bonjour Juliane,
Et merci pour votre procédure.
Cependant je crois ne pas savoir comment l'utiliser pour ce que je
cherche car la durée n'est pas en année ou en mois ou en jours, mais en
année ET mois ET jour
Comment utiliser votre procédure pour leq cas suivants :
Exemples :
Quelle est la date qui correspond à 3 ans, 3 mois et 22 jours AVANT le
02-04-2005
ou
Quelle sera la date dans 2 ans, 5 mois et 3 jours APRES le 28-04-2005
Dans ce cas comment utiliser votre procédure ?
Cordialement
Juliane a émis l'idée suivante :
> Bonjour,
>
> Une petite procédure qui marche bien :
>
> PROCEDURE gCalculDateFin(dDateDebut est une Date, nCombien est un
Personnellement, je l'utilise en procédure globale, et si j'ai plusieurs éléments à calculer, je la lance plusieurs fois de suite, style :
dDateDepart est une date = "20050428" dDate = gCalculDateFin(dDateDepart,2,"A") dDate = gCalculDateFin(dDateDepart,5,"M") dDate = gCalculDateFin(dDateDepart,3,"J")
Et cela marche aussi en négatif : dDateDepart est une date = "20050402" dDate = gCalculDateFin(dDateDepart,-3,"A") dDate = gCalculDateFin(dDateDepart,-3,"M") dDate = gCalculDateFin(dDateDepart,-22,"J")
Par ailleurs, après mon post, j'ai réalisé que cela serait plus simple d'écrire "SELON ... CAS" plutôt que des "SI" multiples !!! Comme quoi, même faire des réponses permet de s'améliorer soi-même ...
Cordialement
"Georges Peyre" a écrit dans le message de news:
Bonjour Juliane, Et merci pour votre procédure. Cependant je crois ne pas savoir comment l'utiliser pour ce que je cherche car la durée n'est pas en année ou en mois ou en jours, mais en année ET mois ET jour Comment utiliser votre procédure pour leq cas suivants : Exemples : Quelle est la date qui correspond à 3 ans, 3 mois et 22 jours AVANT le 02-04-2005 ou Quelle sera la date dans 2 ans, 5 mois et 3 jours APRES le 28-04-2005
Dans ce cas comment utiliser votre procédure ?
Cordialement
Juliane a émis l'idée suivante : > Bonjour, > > Une petite procédure qui marche bien : > > PROCEDURE gCalculDateFin(dDateDebut est une Date, nCombien est un
entier=0,
> sTemps est chaîne = "J") >
-- Elle est pas belle la vie ?
Juliane
Bonjour,
Personnellement, je l'utilise en procédure globale, et si j'ai plusieurs éléments à calculer, je la lance plusieurs fois de suite, style :
dDateDepart est une date = "20050428" dDate = gCalculDateFin(dDateDepart,2,"A") dDate = gCalculDateFin(dDateDepart,5,"M") dDate = gCalculDateFin(dDateDepart,3,"J")
Et cela marche aussi en négatif : dDateDepart est une date = "20050402" dDate = gCalculDateFin(dDateDepart,-3,"A") dDate = gCalculDateFin(dDateDepart,-3,"M") dDate = gCalculDateFin(dDateDepart,-22,"J")
Par ailleurs, après mon post, j'ai réalisé que cela serait plus simple d'écrire "SELON ... CAS" plutôt que des "SI" multiples !!! Comme quoi, même faire des réponses permet de s'améliorer soi-même ...
Cordialement
"Georges Peyre" a écrit dans le message de news:
Bonjour Juliane, Et merci pour votre procédure. Cependant je crois ne pas savoir comment l'utiliser pour ce que je cherche car la durée n'est pas en année ou en mois ou en jours, mais en année ET mois ET jour Comment utiliser votre procédure pour leq cas suivants : Exemples : Quelle est la date qui correspond à 3 ans, 3 mois et 22 jours AVANT le 02-04-2005 ou Quelle sera la date dans 2 ans, 5 mois et 3 jours APRES le 28-04-2005
Dans ce cas comment utiliser votre procédure ?
Cordialement
Juliane a émis l'idée suivante : > Bonjour, > > Une petite procédure qui marche bien : > > PROCEDURE gCalculDateFin(dDateDebut est une Date, nCombien est un
entier=0,
> sTemps est chaîne = "J") >
-- Elle est pas belle la vie ?
Bonjour,
Personnellement, je l'utilise en procédure globale, et si j'ai plusieurs
éléments à calculer, je la lance plusieurs fois de suite, style :
dDateDepart est une date = "20050428"
dDate = gCalculDateFin(dDateDepart,2,"A")
dDate = gCalculDateFin(dDateDepart,5,"M")
dDate = gCalculDateFin(dDateDepart,3,"J")
Et cela marche aussi en négatif :
dDateDepart est une date = "20050402"
dDate = gCalculDateFin(dDateDepart,-3,"A")
dDate = gCalculDateFin(dDateDepart,-3,"M")
dDate = gCalculDateFin(dDateDepart,-22,"J")
Par ailleurs, après mon post, j'ai réalisé que cela serait plus simple
d'écrire "SELON ... CAS" plutôt que des "SI" multiples !!!
Comme quoi, même faire des réponses permet de s'améliorer soi-même ...
Cordialement
"Georges Peyre" <g.peyre@wanadoo.fr> a écrit dans le message de
news:mn.343e7d5bd8980c44.17528@wanadoo.fr...
Bonjour Juliane,
Et merci pour votre procédure.
Cependant je crois ne pas savoir comment l'utiliser pour ce que je
cherche car la durée n'est pas en année ou en mois ou en jours, mais en
année ET mois ET jour
Comment utiliser votre procédure pour leq cas suivants :
Exemples :
Quelle est la date qui correspond à 3 ans, 3 mois et 22 jours AVANT le
02-04-2005
ou
Quelle sera la date dans 2 ans, 5 mois et 3 jours APRES le 28-04-2005
Dans ce cas comment utiliser votre procédure ?
Cordialement
Juliane a émis l'idée suivante :
> Bonjour,
>
> Une petite procédure qui marche bien :
>
> PROCEDURE gCalculDateFin(dDateDebut est une Date, nCombien est un
Personnellement, je l'utilise en procédure globale, et si j'ai plusieurs éléments à calculer, je la lance plusieurs fois de suite, style :
dDateDepart est une date = "20050428" dDate = gCalculDateFin(dDateDepart,2,"A") dDate = gCalculDateFin(dDateDepart,5,"M") dDate = gCalculDateFin(dDateDepart,3,"J")
Et cela marche aussi en négatif : dDateDepart est une date = "20050402" dDate = gCalculDateFin(dDateDepart,-3,"A") dDate = gCalculDateFin(dDateDepart,-3,"M") dDate = gCalculDateFin(dDateDepart,-22,"J")
Par ailleurs, après mon post, j'ai réalisé que cela serait plus simple d'écrire "SELON ... CAS" plutôt que des "SI" multiples !!! Comme quoi, même faire des réponses permet de s'améliorer soi-même ...
Cordialement
"Georges Peyre" a écrit dans le message de news:
Bonjour Juliane, Et merci pour votre procédure. Cependant je crois ne pas savoir comment l'utiliser pour ce que je cherche car la durée n'est pas en année ou en mois ou en jours, mais en année ET mois ET jour Comment utiliser votre procédure pour leq cas suivants : Exemples : Quelle est la date qui correspond à 3 ans, 3 mois et 22 jours AVANT le 02-04-2005 ou Quelle sera la date dans 2 ans, 5 mois et 3 jours APRES le 28-04-2005
Dans ce cas comment utiliser votre procédure ?
Cordialement
Juliane a émis l'idée suivante : > Bonjour, > > Une petite procédure qui marche bien : > > PROCEDURE gCalculDateFin(dDateDebut est une Date, nCombien est un
entier=0,
> sTemps est chaîne = "J") >
-- Elle est pas belle la vie ?
Georges Peyre
Merci Juliane
Juliane a exprimé avec précision :
Personnellement, je l'utilise en procédure globale, et si j'ai plusieurs éléments à calculer, je la lance plusieurs fois de suite, style :
dDateDepart est une date = "20050428" dDate = gCalculDateFin(dDateDepart,2,"A") dDate = gCalculDateFin(dDateDepart,5,"M") dDate = gCalculDateFin(dDateDepart,3,"J")
Et cela marche aussi en négatif : dDateDepart est une date = "20050402" dDate = gCalculDateFin(dDateDepart,-3,"A") dDate = gCalculDateFin(dDateDepart,-3,"M") dDate = gCalculDateFin(dDateDepart,-22,"J")
-- Elle est pas belle la vie ?
Merci Juliane
Juliane a exprimé avec précision :
Personnellement, je l'utilise en procédure globale, et si j'ai plusieurs
éléments à calculer, je la lance plusieurs fois de suite, style :
dDateDepart est une date = "20050428"
dDate = gCalculDateFin(dDateDepart,2,"A")
dDate = gCalculDateFin(dDateDepart,5,"M")
dDate = gCalculDateFin(dDateDepart,3,"J")
Et cela marche aussi en négatif :
dDateDepart est une date = "20050402"
dDate = gCalculDateFin(dDateDepart,-3,"A")
dDate = gCalculDateFin(dDateDepart,-3,"M")
dDate = gCalculDateFin(dDateDepart,-22,"J")
Personnellement, je l'utilise en procédure globale, et si j'ai plusieurs éléments à calculer, je la lance plusieurs fois de suite, style :
dDateDepart est une date = "20050428" dDate = gCalculDateFin(dDateDepart,2,"A") dDate = gCalculDateFin(dDateDepart,5,"M") dDate = gCalculDateFin(dDateDepart,3,"J")
Et cela marche aussi en négatif : dDateDepart est une date = "20050402" dDate = gCalculDateFin(dDateDepart,-3,"A") dDate = gCalculDateFin(dDateDepart,-3,"M") dDate = gCalculDateFin(dDateDepart,-22,"J")