Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Trouver une date fin de mois

15 réponses
Avatar
jack
Bonjour,

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

Merci

10 réponses

1 2
Avatar
Eric
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
Avatar
LE TROLL
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" a écrit dans le message de
news: %
| Bonjour,
|
| Je cherche une fonction qui me retournerait, en
fonction d'une date, la
| valeur 30 jours fin de mois
|
| Merci
|
|
Avatar
jack
Parfait.

Merci beaucoup


"Eric" wrote in message
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



Avatar
LE TROLL
MERCI MON CHIEN :o)
Avatar
LE TROLL
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" <le a écrit dans le
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" a écrit dans le message de
| news: %
|| Bonjour,
||
|| Je cherche une fonction qui me retournerait, en
| fonction d'une date, la
|| valeur 30 jours fin de mois
||
|| Merci
||
||
|
|
Avatar
Eric
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
Avatar
Jean-marc
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_' ;
Avatar
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
Avatar
Driss HANIB
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" a écrit dans le message de news:

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


Avatar
Jean-marc
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_' ;
1 2