Trouver une date fin de mois

Le
jack
Bonjour,

Je cherche une fonction qui me retournerait, en fonction d'une date, la
valeur 30 jours fin de mois

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Eric
Le #15363371
Bonjour,

Avec une zone de texte nommée Text1 contenant une date

DateSerial(Year(Text1), Month(Text1) + 2, 0) devrait répondre à ton besoin.

jack a écrit :
Bonjour,

Je cherche une fonction qui me retournerait, en fonction d'une date, la
valeur 30 jours fin de mois

Merci





--
A+
Eric
LE TROLL
Le #15363361
Bonjour,

Comprends pas tout, est-ce la date du dernier
jour du mois, selon le mois, alors:

dim mois as long
dim maxi as long
dim an as long
mois=x
an=y


' > 1900 < 2100, sinon plus de calculs
select case mois
case 1,3,5,7,8,10,12: maxi1
case 4,6,9,11: maxi0
case 2
maxi = 28
if an mod 4 = 0 maxi = 29
end select


--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"jack" news: %
| Bonjour,
|
| Je cherche une fonction qui me retournerait, en
fonction d'une date, la
| valeur 30 jours fin de mois
|
| Merci
|
|
jack
Le #15363351
Parfait.

Merci beaucoup


"Eric" news:%
Bonjour,

Avec une zone de texte nommée Text1 contenant une date

DateSerial(Year(Text1), Month(Text1) + 2, 0) devrait répondre à ton


besoin.

jack a écrit :
> Bonjour,
>
> Je cherche une fonction qui me retournerait, en fonction d'une date, la
> valeur 30 jours fin de mois
>
> Merci
>
>

--
A+
Eric



LE TROLL
Le #15363341
MERCI MON CHIEN :o)
LE TROLL
Le #15363331
ahhhhhhhhhhhhhh

mois=mois+1 ' >1900 < 2100
if mois = 13 then mois=1
select case mois
case 1,3,5,7,8,10,12: maxi1
case 4,6,9,11: maxi0
case 2
maxi = 28
if an mod 4 = 0 maxi = 29
end select




--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"LE TROLL" message de news:
%
| Bonjour,
|
| Comprends pas tout, est-ce la date du dernier
| jour du mois, selon le mois, alors:
|
| dim mois as long
| dim maxi as long
| dim an as long
| mois=x
| an=y
|
|
| ' > 1900 < 2100, sinon plus de calculs
| select case mois
| case 1,3,5,7,8,10,12: maxi1
| case 4,6,9,11: maxi0
| case 2
| maxi = 28
| if an mod 4 = 0 maxi = 29
| end select
|
|
| --
| Merci beaucoup, au revoir et à bientôt :o)
| ------
| Romans, logiciels, email, site personnel
| http://irolog.free.fr/joe.htm
| ------------------------------------------------------------------------------------
| "jack" | news: %
|| Bonjour,
||
|| Je cherche une fonction qui me retournerait, en
| fonction d'une date, la
|| valeur 30 jours fin de mois
||
|| Merci
||
||
|
|
Eric
Le #15363321
Bonjour,

Mais là encore, il te faut gérer le passage à l'année suivante alors
qu'avec DateSerial(...) tout se fait tout seul ;-)

PS: pour l'année bisextile, il y a aussi une histoire de multiple de 100
ou qq chose de ce genre, me rappelle plus.

LE TROLL a écrit :
ahhhhhhhhhhhhhh

mois=mois+1 ' >1900 < 2100
if mois = 13 then mois=1
select case mois
case 1,3,5,7,8,10,12: maxi1
case 4,6,9,11: maxi0
case 2
maxi = 28
if an mod 4 = 0 maxi = 29
end select







--
A+
Eric
Jean-marc
Le #15363311
Eric wrote:
Bonjour,

Mais là encore, il te faut gérer le passage à l'année suivante alors
qu'avec DateSerial(...) tout se fait tout seul ;-)



Hello,

A noter qu'un article de notre FAQ parle de tout ça:
http://faq.vb.free.fr/index.php?question„

Il contient entre autre une implémentation exacte
d'une fonction testant si une année est bissextile ou non.

On y parle bien sur aussi de DateSerial() et des autres
fonctions de manipulation de dates.

Cordialement;

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
aski
Le #15363301
Bonjour Jean-Marc,

"Jean-marc" a écrit...
Eric wrote:

Mais là encore, il te faut gérer le passage à l'année suivante alors
qu'avec DateSerial(...) tout se fait tout seul ;-)



A noter qu'un article de notre FAQ parle de tout ça:
http://faq.vb.free.fr/index.php?question„

Il contient entre autre une implémentation exacte
d'une fonction testant si une année est bissextile ou non.

On y parle bien sur aussi de DateSerial() et des autres
fonctions de manipulation de dates.



Je viens d'avoir une idée, je ne sais pas ce qu'elle vaut.
Pour éviter de teste l'année, ne peut-on partir du premier du mois suivant
en décrémentant de 1 jour ?
--
Cordialement

Aski
MVP Windows Desktop Experience
Driss HANIB
Le #15363291
Salut Aski
c'est effectivement la méthode que j'utilise pour savoir quel est le dernier
jour du mois de février pour une année donnée
Driss

"aski"
Bonjour Jean-Marc,

"Jean-marc" a écrit...
Eric wrote:

Mais là encore, il te faut gérer le passage à l'année suivante alors
qu'avec DateSerial(...) tout se fait tout seul ;-)



A noter qu'un article de notre FAQ parle de tout ça:
http://faq.vb.free.fr/index.php?question„

Il contient entre autre une implémentation exacte
d'une fonction testant si une année est bissextile ou non.

On y parle bien sur aussi de DateSerial() et des autres
fonctions de manipulation de dates.



Je viens d'avoir une idée, je ne sais pas ce qu'elle vaut.
Pour éviter de teste l'année, ne peut-on partir du premier du mois suivant
en décrémentant de 1 jour ?
--
Cordialement

Aski
MVP Windows Desktop Experience


Jean-marc
Le #15363281
aski wrote:
Bonjour Jean-Marc,

"Jean-marc" a écrit...
Eric wrote:

Mais là encore, il te faut gérer le passage à l'année suivante alors
qu'avec DateSerial(...) tout se fait tout seul ;-)



A noter qu'un article de notre FAQ parle de tout ça:
http://faq.vb.free.fr/index.php?question„

Il contient entre autre une implémentation exacte
d'une fonction testant si une année est bissextile ou non.

On y parle bien sur aussi de DateSerial() et des autres
fonctions de manipulation de dates.



Je viens d'avoir une idée, je ne sais pas ce qu'elle vaut.
Pour éviter de teste l'année, ne peut-on partir du premier du mois
suivant en décrémentant de 1 jour ?



Hello Aski,

C'est très précisément ce que fait la proposistion d'Eric:

DateSerial(Year(Text1), Month(Text1) + 2, 0)

Le zero comme dernier argument de DateSerial permet d'avoir
"le jour avant le 1er jour de 2 mois après", c'est à dire
"le dernier jour du mois suivant".

En utilisant DateSerial, on indique l'année et le "sale boulot"
est fait par la fonction, qui se charge de tester la bissextilité
et tout ça.

On doit d'une manière ou d'une autre tenir compte de l'année,
on ne peut pas y couper à cause de la bisextilité.

Sans mention de l'année, impossible de répondre à la question:

"Quelle est la date d'échéance à "30 jours fin de mois" pour
un paiement fait le 15 Janvier"

Si il n'y avait pas Février, on pourrait se passer de l'année
grâce à l'alternance 30-31-30-31-...


--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Publicité
Poster une réponse
Anonyme