trouver si l'année est bissextile en VBA Excel

Le
pilote301152
comment écrire la macro qui permet de savoir si l'année est bissextile ou pas ?
sur le calcul du nb de jours peut être ?
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
Papyjac
Le #16611081
Bonjour pilote,

Pour calculer le nombre de jours entre deux dates, Excel sait si l'année est
bissextile ou pas, par exemple : si tu fais 01/01/2008 - 01/01/2007 = 365 ;
alors que 01/01/2009 - 01/01/2008 = 366

Tu n'as pas besoin de te poser la question

--
Papyjac


"pilote301152" a écrit :

comment écrire la macro qui permet de savoir si l'année est bissextile ou pas ?
sur le calcul du nb de jours peut être ?


RoswellBob
Le #16611071
Toi aussi, t'as chopé le virus Malpolitus ??!!!

"pilote301152" message de news:
comment écrire la macro qui permet de savoir si l'année est bissextile ou
pas ?
sur le calcul du nb de jours peut être ?


pilote301152
Le #16611061
Merci beaucoup de ta réponse simple mais efficace

Bon dimanche depuis Nice !

"Papyjac" wrote:

Bonjour pilote,

Pour calculer le nombre de jours entre deux dates, Excel sait si l'année est
bissextile ou pas, par exemple : si tu fais 01/01/2008 - 01/01/2007 = 365 ;
alors que 01/01/2009 - 01/01/2008 = 366

Tu n'as pas besoin de te poser la question

--
Papyjac


"pilote301152" a écrit :

> comment écrire la macro qui permet de savoir si l'année est bissextile ou pas ?
> sur le calcul du nb de jours peut être ?


pilote301152
Le #16611051
Pour un premier accès à ce forum : quel accueil ! Habituellement il est
demandé d'être concis plutôt que de faire de longs discours (y compris pour
s'ecuser de demander pardon ... même le dimanche !!).
En tout cas je te remercie pour ta non réponse , heureusement il y a des
personnes moins stériles

Bonne journée quand même voire bonnes vacances si tel est le cas.

"RoswellBob" wrote:

Toi aussi, t'as chopé le virus Malpolitus ??!!!

"pilote301152" message de news:
> comment écrire la macro qui permet de savoir si l'année est bissextile ou
> pas ?
> sur le calcul du nb de jours peut être ?



RoswellBob
Le #16611041
"Pour un premier accès à ce forum : quel accueil !"
T'es un newbie, on te mets sur le droit chemin !

"Habituellement il est demandé d'être concis"
...et d'avoir un minimum de politesse, "bonjour" et "merci" n'a jamais tué
personne !!!

"plutôt que de faire de longs discours (y compris pour s'ecuser de demander
pardon ... même le dimanche !!)"
???

"En tout cas je te remercie pour ta non réponse"
De rien...

"heureusement il y a des personnes moins stériles"
Et t'as pas fini d'en connaître d'autres !

Bon Dimanche !




"pilote301152" message de news:
Pour un premier accès à ce forum : quel accueil ! Habituellement il est
demandé d'être concis plutôt que de faire de longs discours (y compris
pour
s'ecuser de demander pardon ... même le dimanche !!).
En tout cas je te remercie pour ta non réponse , heureusement il y a des
personnes moins stériles

Bonne journée quand même voire bonnes vacances si tel est le cas.

"RoswellBob" wrote:

Toi aussi, t'as chopé le virus Malpolitus ??!!!

"pilote301152" message de news:
> comment écrire la macro qui permet de savoir si l'année est bissextile
> ou
> pas ?
> sur le calcul du nb de jours peut être ?





ChrisV
Le #16611381
Bonjour pilote301152,

Sub zaza()
'si indication seule de l'année
maDate = "29/02/" & [A1]
'si indication de l'année sous la forme jj/mm/aaaa
'maDate = "29/02/" & Year([A1])
MsgBox IsDate(maDate)
End Sub

Par formule dans une feuille de calcul:

=MOIS(DATE(A1;2;29))=2

(ou si la date est indiquée sous la forme jj/mm/aaaa)
=MOIS(DATE(ANNEE(A1);2;29))=2


ChrisV



"pilote301152" message de news:
comment écrire la macro qui permet de savoir si l'année est bissextile ou
pas ?
sur le calcul du nb de jours peut être ?


Daniel.C
Le #16611541
Bonjour
Une autre manière; la formule suivante renvoie VRAI si l'année est
bissextile :
ÚTE(2008;2;29)<>DATE(2008;3;1)
Daniel
"pilote301152" message de news:
comment écrire la macro qui permet de savoir si l'année est bissextile ou
pas ?
sur le calcul du nb de jours peut être ?


michdenis
Le #16612381
Une variante avec une fonction personnalisée
auquelle tu passes l'année de ton choix !


'--------------------------
Sub test()
MsgBox IsBissextile(2008)
End Sub
'------------------------------

Function IsBissextile(année)
IsBissextile = IsDate("29/02/" & année)
End Function
'------------------------------




"pilote301152" message de news:
comment écrire la macro qui permet de savoir si l'année est bissextile ou
pas ?
sur le calcul du nb de jours peut être ?
Frédéric Sigonneau
Le #16614401
Une approche purement VBA :

'====================== ' Pour la détermination de la "bissextilité" d'une année, l'utilisation du sytème
' de dates de VBA offre, AMHA, plus de possibilités que celui d'Excel.
' Les dates en VBA commencent en effet le 1er janvier 100 (et se terminent, comme
' pour Excel, le 31 décembre 9999), et VBA ignore le bug du 29 février 1900...
' L'étendue des dates valides autorise à rechercher les années bissextiles avec
' les calendriers julien puis grégorien. En France, le changement s'est effectué
' en 1582.
' La fonction ci-dessous tient compte de ces données (le paramètre optionnel
' permet de prendre en compte une autre date de passage au calendrier grégorien
' que la date française) :

Function IsBissextile(An, Optional JulToGreg = 1582)
'plage de validité des dates en VBA
If An < 100 Or An > 9999 Then
IsBissextile = CVErr(xlErrNum)
Exit Function
End If
'calendrier julien
If An < JulToGreg Then
IsBissextile = (An Mod 4 = 0)
Else
'calendrier grégorien
IsBissextile = (An Mod 400 = 0) Or _
(An Mod 4 = 0 And (Not An Mod 100 = 0))
End If
End Function 'fs
'======================
FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

pilote301152 a écrit :
comment écrire la macro qui permet de savoir si l'année est bissextile ou pas ?
sur le calcul du nb de jours peut être ?


Modeste
Le #16615641
Salut Fréd avec raideur ;o))) vous nous disiez :

Une approche purement VBA :
Function IsBissextile(An, Optional JulToGreg = 1582)
'plage de validité des dates en VBA
If An < 100 Or An > 9999 Then
IsBissextile = CVErr(xlErrNum)
Exit Function
End If
'calendrier julien
If An < JulToGreg Then
IsBissextile = (An Mod 4 = 0)
Else
'calendrier grégorien
IsBissextile = (An Mod 400 = 0) Or _
(An Mod 4 = 0 And (Not An Mod 100 = 0))
End If
End Function 'fs
'=======================



je ne sais si l'on peut parler d'année bissextile avant 1582 ???

une approche purement formuliste :o)))
si A1 contient une date
=OU(MOD(ANNEE(A1);400)=0;ET(MOD(ANNEE(A1);4)=0;MOD(ANNEE(A1);100)<> 0))
si A1 contient une année sur 4 chiffres
=OU(MOD(A1;400)=0;ET(MOD(A1;4)=0;MOD(A1;100)<>0))

il faudrait toutefois cher maître du temps que vous régliez votre horloge ;o)))
car
> "Frédéric Sigonneau"
> Date: Mon, 24 Aug 2009 16:58:26 +0200
> User-Agent: Thunderbird 2.0.0.16 (Windows/20080708)
> Subject: Re: Connaitre le pourcentage de jour qu'il me reste dans un an

on en a encore pour un an à voir ce fil en tete de MPFE !!!!
;o)))


--
--
@+
;o)))
Publicité
Poster une réponse
Anonyme