OVH Cloud OVH Cloud

Nombre de jours d'un mois

4 réponses
Avatar
Jean Saint Jalmes
Bonjour,

Existe t'il une fonction VB6.0 ou une API Windows qui=20
permette de retrouver le nombre de jours d'un mois donn=E9.

La question initiale est : Combien y a t'il de jours dans=20
le mois de F=E9vrier 2005 ?

Merci d'avance

Jean

4 réponses

Avatar
ng
Salut,

Question posée moult fois, une petite recherche dans les archives (google
groups) permet de trouver par exemple :

'//Fonction de Zoury :
Public Function MonthDayCount(ByRef lYear As Long, ByRef lMonth As Long)
MonthDayCount = Day(DateSerial(lYear, lMonth + 1, 0))
End Function


'//Fonction de Vincent Guichard :
Public Function NbreJour(mois As Integer, annee As Integer) As Integer
NbreJour = Day(DateAdd("d", DateAdd("m", 1, DateSerial(annee, mois,
1)), -1))
End Function


'//Fonction de moi :
Public Function NbJourDsMois(intMois As Integer, intAnnee As Integer) As
Integer

NbJourDsMois = CInt(IsDate("29/" & intMois & "/" & intAnnee)) * -1 + _
CInt(IsDate("30/" & intMois & "/" & intAnnee)) * -1 + _
CInt(IsDate("31/" & intMois & "/" & intAnnee)) * -1 +
28

End Function

Voila y a du choix (je conseille la fonction de Zoury).



--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/


Jean Saint Jalmes wrote:
Bonjour,

Existe t'il une fonction VB6.0 ou une API Windows qui
permette de retrouver le nombre de jours d'un mois donné.

La question initiale est : Combien y a t'il de jours dans
le mois de Février 2005 ?

Merci d'avance

Jean


Avatar
François Picalausa
Hello,

Tu peux employer DateSerial.
Function DaysInMonth(Month As Integer, Year As Integer) As Integer
DaysInMonth = Day(DateSerial(Year, Month + 1, 0)) '0 = 1-1 = le premier
jour avant le 1er du mois (suivant)
End Function

Exemple:
Msgbox "Combien y a t'il de jours dans le mois de Février 2005 ?" & vbCrlf &
DaysInMonth(2,2005)

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com

"Jean Saint Jalmes" a écrit dans
le message de news:28da01c48e84$70f3f540$
Existe t'il une fonction VB6.0 ou une API Windows qui
permette de retrouver le nombre de jours d'un mois donné.


Avatar
le_troll
Bonjour, cette formule devrait marcher :o)

Dim moiS as byte ' mois d'origine du calsul
Dim anS as integer ' année d'origine du calcul
Dim an as integer ' variable de transfert
'
an = anS
moiS = 31
select case moiS
case 2 ' bissextile
moiS = 28
if an < 0 then an = an * (-1) ' négatif
if format(an,"0000") Mod 4 = 0 then mois = 29 ' non séculaire
if mois = 29 and val(mid(format(an,"0000"),3,2)) <> 0 then moiS = 28 '
séculaire
case 4,6,9,11: mois = 30
end select

--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !


"Jean Saint Jalmes" a écrit dans le
message de news: 28da01c48e84$70f3f540$
Bonjour,

Existe t'il une fonction VB6.0 ou une API Windows qui
permette de retrouver le nombre de jours d'un mois donné.

La question initiale est : Combien y a t'il de jours dans
le mois de Février 2005 ?

Merci d'avance

Jean
Avatar
>-----Message d'origine-----
Bonjour,

Existe t'il une fonction VB6.0 ou une API Windows qui
permette de retrouver le nombre de jours d'un mois donné.

La question initiale est : Combien y a t'il de jours


dans
le mois de Février 2005 ?

Merci d'avance

Jean
.



Bonjour,
Je pense à l'expression suivante :
Format(DateDiff("d", DateValue("01/02/2005"), DateValue
("01/03/2005")))
qui donne le nombre de jours ("d") entre les 2 dates.
J'espère que ca vous convient.
Gilbert Bonamy ()