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

Faire date = dates + 1 an ???

8 réponses
Avatar
LE TROLL
Bonjour,

Y a-t-il une façon d'indiquer au code

dateX = dateX + 1 an

Sans erreur si on est un 29 février évidemment ?

Explications : en fait je compose ma date
dim d as date
d = j & "/" & m & "/" & a
Alors je peux faire a = a + 1
Mais, si on est un 29 II en bissextile, je me retrouve avec 29 février an
+ 1... et ça plante...
Certes, je peux gérer l'erreur et si sort en erreur, faire j = 1 et m = m
+ 1

Ce que je voudrais éviter, avez-vous une solution camarades ?

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.

8 réponses

Avatar
fraction
On 12 mar, 15:01, "LE TROLL" <le wrote:
        Bonjour,

    Y a-t-il une façon d'indiquer au code

dateX = dateX + 1 an

    Sans erreur si on est un 29 février évidemment ?

    Explications : en fait je compose ma date
dim d as date
d = j & "/" & m & "/" & a
Alors je peux faire a = a + 1
Mais, si on est un 29  II  en bissextile, je me retrouve avec 29 fé vrier an
+ 1... et ça plante...
Certes, je peux gérer l'erreur et si sort en erreur, faire j = 1  e t  m = m
+ 1

    Ce que je voudrais éviter, avez-vous une solution camarades ?

    Cordialement ;o)
-
Logiciels, romans, contacts :http://irolog.free.fr
_______________________
.
.



Bonjour,
Les années bissextiles sont des multiples de quatre. Donc, si la
division de l'année par quatre donne des chiffres après la virgule, ç a
veut dire que ce n'est pas une année bissextile. Je ne sais pas
comment lire les chiffres après la virgule à partir de vb, mais je
sais qu'on peut le faire sur Excel, avec la fonction ARRONDI.SUP, par
exemple.
Avatar
Jean-Marc
On Mar 12, 3:01 pm, "LE TROLL" <le wrote:
        Bonjour,



Hello,

    Y a-t-il une façon d'indiquer au code

dateX = dateX + 1 an

    Sans erreur si on est un 29 février évidemment ?



Pourquoi ne pas avoir regarder la FAQ ?
Parce que alors, tu aurais trouvé un article intitulé :
"Comment ajouter des jours, mois, années ou autre à une date en Visual
Basic ?"

qui se trouve ici :
http://faq.vb.free.fr/index.php?question4

et qui te donne la réponse :-)

Bonne journée !

--
Jean-Marc
Avatar
LE TROLL
Bonjour,

Merci de ta réponse, pour savoir si une année est bissextile, suffit
d'utiliser le modulo :

If a mod 4 <> 0 then msgbox "non bissextile"
If a mod 4 = 0 and val(mid(a,1,2)) mod 4 <> 0 then msgbox "année non
bissextile"
A ceci il faut si besoin, prendre en compte la réforme grégorienne et sauter
l'année 0 (1 à -1), mais VB ne sait pas faire ça, il s'arrête à la date où
les anglais on intégrés la réforme grégorienne en retard évidemment, donc il
faut passer par le JJ (jour Julien), et en dernier dans les dates négatives,
tenir compte de l'année de confusion sous Cesar si on fait un rapprochement
avec le calendrier d'époque, idem en date positive avec le calendrier
républicain...

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"fraction" a écrit dans le message de
news:
On 12 mar, 15:01, "LE TROLL" <le wrote:
Bonjour,

Y a-t-il une façon d'indiquer au code

dateX = dateX + 1 an

Sans erreur si on est un 29 février évidemment ?

Explications : en fait je compose ma date
dim d as date
d = j & "/" & m & "/" & a
Alors je peux faire a = a + 1
Mais, si on est un 29 II en bissextile, je me retrouve avec 29 février an
+ 1... et ça plante...
Certes, je peux gérer l'erreur et si sort en erreur, faire j = 1 et m = m
+ 1

Ce que je voudrais éviter, avez-vous une solution camarades ?

Cordialement ;o)
-
Logiciels, romans, contacts :http://irolog.free.fr
_______________________
.
.



Bonjour,
Les années bissextiles sont des multiples de quatre. Donc, si la
division de l'année par quatre donne des chiffres après la virgule, ça
veut dire que ce n'est pas une année bissextile. Je ne sais pas
comment lire les chiffres après la virgule à partir de vb, mais je
sais qu'on peut le faire sur Excel, avec la fonction ARRONDI.SUP, par
exemple.
Avatar
LE TROLL
Bonjour chef,

En effet la FAQ répond à ma question, je n'y suis pas allé parce que je
savais que tu allais le faire à ma place :o) ... non, je plaisante, je ne
pensais pas que ça traitait de ça...
Alors pour moi ceci devrait donner :

dateX + DateAdd("yyyy", 2, Date) ' 2 = ans

Merci, cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Jean-Marc" a écrit dans le message de
news:
On Mar 12, 3:01 pm, "LE TROLL" <le wrote:
Bonjour,



Hello,

Y a-t-il une façon d'indiquer au code

dateX = dateX + 1 an

Sans erreur si on est un 29 février évidemment ?



Pourquoi ne pas avoir regarder la FAQ ?
Parce que alors, tu aurais trouvé un article intitulé :
"Comment ajouter des jours, mois, années ou autre à une date en Visual
Basic ?"

qui se trouve ici :
http://faq.vb.free.fr/index.php?question4

et qui te donne la réponse :-)

Bonne journée !

--
Jean-Marc
Avatar
epilot10
Le 2010-03-12 09:43, fraction a écrit :
On 12 mar, 15:01, "LE TROLL"<le wrote:
Bonjour,

Y a-t-il une façon d'indiquer au code

dateX = dateX + 1 an

Sans erreur si on est un 29 février évidemment ?

Explications : en fait je compose ma date
dim d as date
d = j& "/"& m& "/"& a
Alors je peux faire a = a + 1
Mais, si on est un 29 II en bissextile, je me retrouve avec 29 février an
+ 1... et ça plante...
Certes, je peux gérer l'erreur et si sort en erreur, faire j = 1 et m = m
+ 1

Ce que je voudrais éviter, avez-vous une solution camarades ?

Cordialement ;o)
-
Logiciels, romans, contacts :http://irolog.free.fr
_______________________
.
.



Bonjour,
Les années bissextiles sont des multiples de quatre.



C'est vrai 97 fois sur 100, mais pas pour 2100, 2200 et 2300.
Sinon, la durée moyenne d'une année serait de 365.25
Mais , ce qu'on vise, c'est la durée d'une année solaire moyenne, soit
365.2422
Ainsi, à chaque 10,000 ans, on creuserait un écart de 78 jrs. Pas très bon.
Alors on a ajouté que les années séculaires sont bissextiles seulement
si elles se divisent par 400 sans reste.

Jacquelin Hardy


Donc, si la
division de l'année par quatre donne des chiffres après la virgule, ça
veut dire que ce n'est pas une année bissextile. Je ne sais pas
comment lire les chiffres après la virgule à partir de vb, mais je
sais qu'on peut le faire sur Excel, avec la fonction ARRONDI.SUP, par
exemple.
Avatar
fraction
On 15 mar, 19:52, epilot10 wrote:
Le 2010-03-12 09:43, fraction a écrit :





> On 12 mar, 15:01, "LE TROLL"<le  wrote:
>>          Bonjour,

>>      Y a-t-il une façon d'indiquer au code

>> dateX = dateX + 1 an

>>      Sans erreur si on est un 29 février évidemment ?

>>      Explications : en fait je compose ma date
>> dim d as date
>> d = j&  "/"&  m&  "/"&  a
>> Alors je peux faire a = a + 1
>> Mais, si on est un 29  II  en bissextile, je me retrouve avec 29 f évrier an
>> + 1... et ça plante...
>> Certes, je peux gérer l'erreur et si sort en erreur, faire j = 1  et  m = m
>> + 1

>>      Ce que je voudrais éviter, avez-vous une solution camarad es ?

>>      Cordialement ;o)
>> -
>> Logiciels, romans, contacts :http://irolog.free.fr
>> _______________________
>> .
>> .

> Bonjour,
> Les années bissextiles sont des multiples de quatre.

C'est vrai 97 fois sur 100, mais pas pour 2100, 2200 et 2300.
Sinon, la durée moyenne d'une année serait de 365.25
Mais , ce qu'on vise, c'est la durée d'une année solaire moyenne, soi t
365.2422
Ainsi, à chaque 10,000 ans, on creuserait un écart de 78 jrs. Pas tr ès bon.
Alors on a ajouté que les années séculaires sont bissextiles seulem ent
si elles se divisent par 400 sans reste.

Jacquelin Hardy

Donc, si la



> division de l'année par quatre donne des chiffres après la virgule, ça
> veut dire que ce n'est pas une année bissextile. Je ne sais pas
> comment lire les chiffres après la virgule à partir de vb, mais je
> sais qu'on peut le faire sur Excel, avec la fonction ARRONDI.SUP, par
> exemple.



Tu envisages un bug de l'an 2100 ? Ca fait froid dans le dos. :-)
Avatar
Gloops
fraction a écrit, le 12/03/2010 15:43 :
Bonjour,
Les années bissextiles sont des multiples de quatre. Donc, si la
division de l'année par quatre donne des chiffres après la virgule, ça
veut dire que ce n'est pas une année bissextile. Je ne sais pas
comment lire les chiffres après la virgule à partir de vb, mais je
sais qu'on peut le faire sur Excel, avec la fonction ARRONDI.SUP, par
exemple.



Ce n'est pas tout-à-fait aussi simple que ça.
Certains siècles ne sont pas bisextiles.

Si le quotient de la durée de la rotation de la terre autour du soleil
par celle de sa rotation autour d'elle-même donne un rapport avec des
décimales du style ,249229 forcément il arrive un moment où il ne s uffit
pas de savoir si l'année est divisible par 4.

ça serait pratique, effectivement, si la terre tournait un tout petit
peu plus vite, et que le rapport donnait pile une décimale ,25. Cela
étant, nous nous plaignons déjà que les journées sont trop courte s ...
Ou alors la Terre tournerait un peu plus lentement, et ça donnerait un
nombre entier, là évidement, plus d'années bisextiles ...
Avatar
Gloops
epilot10 a écrit, le 15/03/2010 19:52 :
C'est vrai 97 fois sur 100, mais pas pour 2100, 2200 et 2300.
Sinon, la durée moyenne d'une année serait de 365.25
Mais , ce qu'on vise, c'est la durée d'une année solaire moyenne, s oit
365.2422
Ainsi, à chaque 10,000 ans, on creuserait un écart de 78 jrs. Pas t rès bon.
Alors on a ajouté que les années séculaires sont bissextiles seul ement
si elles se divisent par 400 sans reste.

Jacquelin Hardy




Ah oui, ça m'apprendra, aussi, à pondre une intervention avant de lir e
celles qui ont déjà été postées.

Je l'avais bien appris il y a quelques années, qu'il ne fallait pas le
faire, ça, et puis c'est comme enfiler le dos d'une fiche électrique sur
le fil avant de monter le bout du fil sur la fiche, sauf quelques
personnes particulièrement bien structurées, c'est une fois qu'on s'e st
fait piéger un certain nombre de fois qu'on mémorise ... Valable pour
les sauvegardes, aussi, me semble-t-il.

Vous avez vu, hein, je suis bon, pour me trouver des excuses :)