Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ng
Salut,
Tu peux essayer quelque chose comme ça :
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
Debug.Print NbJourDsMois(2,2004) '//Donne 29
-- 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/ http://apisvb.europe.webmatrixhosting.net/
[aicfr] a écrit :
Bonjour,
Existe t il une fonction en vba qui permet de connaitre le nombre de jour d'un mois d'une date donnée sans passer par des CASE.
Cordialement, aicfr
Salut,
Tu peux essayer quelque chose comme ça :
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
Debug.Print NbJourDsMois(2,2004) '//Donne 29
--
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/
http://apisvb.europe.webmatrixhosting.net/
[aicfr] <kheraud@cartolux-thiers.com> a écrit :
Bonjour,
Existe t il une fonction en vba qui permet de connaitre le nombre de
jour d'un mois d'une date donnée sans passer par des CASE.
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
Debug.Print NbJourDsMois(2,2004) '//Donne 29
-- 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/ http://apisvb.europe.webmatrixhosting.net/
[aicfr] a écrit :
Bonjour,
Existe t il une fonction en vba qui permet de connaitre le nombre de jour d'un mois d'une date donnée sans passer par des CASE.
Cordialement, aicfr
Ludovic SOEUR
J'ai une idée à te proposer qui se sert de la réprésentation d'une date. Une petite soustraction permet de retrouver le nmobre de jours par mois
Private Function nombreJours(ByVal mois As Integer, ByVal annee As Integer) As Integer nombreJours = 32 - Day(CDate("28/" & mois & "/" & annee) + 4) End Function
et l'utilisation se ferait par MsgBox nombreJours(3, 2003) pour avoir le nombre de jours de mars 2003 ou MsgBox nombreJours(2, 2001) pour avoir le nombre de jours de février 2001
"[aicfr]" a écrit dans le message de news: c751d0$jeh$
Bonjour,
Existe t il une fonction en vba qui permet de connaitre le nombre de jour d'un mois d'une date donnée sans passer par des CASE.
Cordialement, aicfr
J'ai une idée à te proposer qui se sert de la réprésentation d'une date. Une
petite soustraction permet de retrouver le nmobre de jours par mois
Private Function nombreJours(ByVal mois As Integer, ByVal annee As Integer)
As Integer
nombreJours = 32 - Day(CDate("28/" & mois & "/" & annee) + 4)
End Function
et l'utilisation se ferait par MsgBox nombreJours(3, 2003) pour avoir le
nombre de jours de mars 2003
ou MsgBox nombreJours(2, 2001) pour avoir le nombre de jours de février 2001
"[aicfr]" <kheraud@cartolux-thiers.com> a écrit dans le message de news:
c751d0$jeh$1@s1.read.news.oleane.net...
Bonjour,
Existe t il une fonction en vba qui permet de connaitre le nombre de jour
d'un mois d'une date donnée sans passer par des CASE.
J'ai une idée à te proposer qui se sert de la réprésentation d'une date. Une petite soustraction permet de retrouver le nmobre de jours par mois
Private Function nombreJours(ByVal mois As Integer, ByVal annee As Integer) As Integer nombreJours = 32 - Day(CDate("28/" & mois & "/" & annee) + 4) End Function
et l'utilisation se ferait par MsgBox nombreJours(3, 2003) pour avoir le nombre de jours de mars 2003 ou MsgBox nombreJours(2, 2001) pour avoir le nombre de jours de février 2001
"[aicfr]" a écrit dans le message de news: c751d0$jeh$
Bonjour,
Existe t il une fonction en vba qui permet de connaitre le nombre de jour d'un mois d'une date donnée sans passer par des CASE.
Cordialement, aicfr
Vincent Guichard
[aicfr] a écrit :
Bonjour,
Existe t il une fonction en vba qui permet de connaitre le nombre de jour d'un mois d'une date donnée sans passer par des CASE.
Cordialement, aicfr
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
Vincent Guichard
[aicfr] a écrit :
Bonjour,
Existe t il une fonction en vba qui permet de connaitre le nombre de jour
d'un mois d'une date donnée sans passer par des CASE.
Cordialement,
aicfr
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
Existe t il une fonction en vba qui permet de connaitre le nombre de jour d'un mois d'une date donnée sans passer par des CASE.
Cordialement, aicfr
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
Vincent Guichard
le_troll
Bonjour, Ce n'est pas pour te contredir, mais si tu mets d'office M = 31 jour, ça te fait 7 lignes de code:
J = 31 if M= 2 then ' fevrier J( if reste A mod 4 <> 0 then J) ' année bissextiles non séculaire 29 if reste = 0 and val(mid(ANNEE(format,"0000"),3,2)) = 0 then M( ' année séculaires bixxextile( endif if M = 4 or M=6 or M= 9 or M= 11 then J0
-- Merci, @+, bye, Joe
------------------------------------------ Avec une hache, celui qui tient le manche a toujours raison ! ------------------------------------------
"ng" a écrit dans le message de news:
Salut,
Tu peux essayer quelque chose comme ça :
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
Debug.Print NbJourDsMois(2,2004) '//Donne 29
-- 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/ http://apisvb.europe.webmatrixhosting.net/
[aicfr] a écrit :
> Bonjour, > > Existe t il une fonction en vba qui permet de connaitre le nombre de > jour d'un mois d'une date donnée sans passer par des CASE. > > Cordialement, > aicfr
Bonjour,
Ce n'est pas pour te contredir, mais si tu mets d'office M = 31 jour, ça te
fait 7 lignes de code:
J = 31
if M= 2 then ' fevrier
J(
if reste A mod 4 <> 0 then J) ' année bissextiles non séculaire 29
if reste = 0 and val(mid(ANNEE(format,"0000"),3,2)) = 0 then M( '
année séculaires bixxextile(
endif
if M = 4 or M=6 or M= 9 or M= 11 then J0
--
Merci, @+, bye, Joe
montmartre75@iFrance.com
------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison !
------------------------------------------
"ng" <ng@babeuk.net> a écrit dans le message de news:
ORlPkBPMEHA.2456@TK2MSFTNGP12.phx.gbl...
Salut,
Tu peux essayer quelque chose comme ça :
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
Debug.Print NbJourDsMois(2,2004) '//Donne 29
--
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/
http://apisvb.europe.webmatrixhosting.net/
[aicfr] <kheraud@cartolux-thiers.com> a écrit :
> Bonjour,
>
> Existe t il une fonction en vba qui permet de connaitre le nombre de
> jour d'un mois d'une date donnée sans passer par des CASE.
>
> Cordialement,
> aicfr
Bonjour, Ce n'est pas pour te contredir, mais si tu mets d'office M = 31 jour, ça te fait 7 lignes de code:
J = 31 if M= 2 then ' fevrier J( if reste A mod 4 <> 0 then J) ' année bissextiles non séculaire 29 if reste = 0 and val(mid(ANNEE(format,"0000"),3,2)) = 0 then M( ' année séculaires bixxextile( endif if M = 4 or M=6 or M= 9 or M= 11 then J0
-- Merci, @+, bye, Joe
------------------------------------------ Avec une hache, celui qui tient le manche a toujours raison ! ------------------------------------------
"ng" a écrit dans le message de news:
Salut,
Tu peux essayer quelque chose comme ça :
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
Debug.Print NbJourDsMois(2,2004) '//Donne 29
-- 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/ http://apisvb.europe.webmatrixhosting.net/
[aicfr] a écrit :
> Bonjour, > > Existe t il une fonction en vba qui permet de connaitre le nombre de > jour d'un mois d'une date donnée sans passer par des CASE. > > Cordialement, > aicfr
ng
Salut, Je ne vois pas en quoi cela me contredit ? Car mon code tiens en une ligne (mais n'est certes pas forcément optimisé, cf la réponse des autres).
-- 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/ http://apisvb.europe.webmatrixhosting.net/
le_troll a écrit :
Bonjour, Ce n'est pas pour te contredir, mais si tu mets d'office M = 31 jour, ça te fait 7 lignes de code:
J = 31 if M= 2 then ' fevrier J( if reste A mod 4 <> 0 then J) ' année bissextiles non séculaire = 29 if reste = 0 and val(mid(ANNEE(format,"0000"),3,2)) = 0 then M( ' année séculaires bixxextile( endif if M = 4 or M=6 or M= 9 or M= 11 then J0
"ng" a écrit dans le message de news:
Salut,
Tu peux essayer quelque chose comme ça :
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
Debug.Print NbJourDsMois(2,2004) '//Donne 29
-- 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/ http://apisvb.europe.webmatrixhosting.net/
[aicfr] a écrit :
Bonjour,
Existe t il une fonction en vba qui permet de connaitre le nombre de jour d'un mois d'une date donnée sans passer par des CASE.
Cordialement, aicfr
Salut,
Je ne vois pas en quoi cela me contredit ? Car mon code tiens en une ligne
(mais n'est certes pas forcément optimisé, cf la réponse des autres).
--
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/
http://apisvb.europe.webmatrixhosting.net/
le_troll <le_trol@paris.fr> a écrit :
Bonjour,
Ce n'est pas pour te contredir, mais si tu mets d'office M = 31 jour,
ça te fait 7 lignes de code:
J = 31
if M= 2 then ' fevrier
J(
if reste A mod 4 <> 0 then J) ' année bissextiles non
séculaire = 29
if reste = 0 and val(mid(ANNEE(format,"0000"),3,2)) = 0 then
M( ' année séculaires bixxextile(
endif
if M = 4 or M=6 or M= 9 or M= 11 then J0
"ng" <ng@babeuk.net> a écrit dans le message de news:
ORlPkBPMEHA.2456@TK2MSFTNGP12.phx.gbl...
Salut,
Tu peux essayer quelque chose comme ça :
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
Debug.Print NbJourDsMois(2,2004) '//Donne 29
--
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/
http://apisvb.europe.webmatrixhosting.net/
[aicfr] <kheraud@cartolux-thiers.com> a écrit :
Bonjour,
Existe t il une fonction en vba qui permet de connaitre le nombre de
jour d'un mois d'une date donnée sans passer par des CASE.
Salut, Je ne vois pas en quoi cela me contredit ? Car mon code tiens en une ligne (mais n'est certes pas forcément optimisé, cf la réponse des autres).
-- 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/ http://apisvb.europe.webmatrixhosting.net/
le_troll a écrit :
Bonjour, Ce n'est pas pour te contredir, mais si tu mets d'office M = 31 jour, ça te fait 7 lignes de code:
J = 31 if M= 2 then ' fevrier J( if reste A mod 4 <> 0 then J) ' année bissextiles non séculaire = 29 if reste = 0 and val(mid(ANNEE(format,"0000"),3,2)) = 0 then M( ' année séculaires bixxextile( endif if M = 4 or M=6 or M= 9 or M= 11 then J0
"ng" a écrit dans le message de news:
Salut,
Tu peux essayer quelque chose comme ça :
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
Debug.Print NbJourDsMois(2,2004) '//Donne 29
-- 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/ http://apisvb.europe.webmatrixhosting.net/
[aicfr] a écrit :
Bonjour,
Existe t il une fonction en vba qui permet de connaitre le nombre de jour d'un mois d'une date donnée sans passer par des CASE.
Cordialement, aicfr
[aicfr]
Merci bien, cette fonction marche vraiment bien ++ aicfr
"Vincent Guichard" a écrit dans le message de news:c754i2$kjt$
[aicfr] a écrit : > Bonjour, > > Existe t il une fonction en vba qui permet de connaitre le nombre de
jour
> d'un mois d'une date donnée sans passer par des CASE. > > Cordialement, > aicfr > > 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
Vincent Guichard
Merci bien, cette fonction marche vraiment bien
++
aicfr
"Vincent Guichard" <vg.bleuciel.sa@wanadoo.fr> a écrit dans le message de
news:c754i2$kjt$1@news-reader4.wanadoo.fr...
[aicfr] a écrit :
> Bonjour,
>
> Existe t il une fonction en vba qui permet de connaitre le nombre de
jour
> d'un mois d'une date donnée sans passer par des CASE.
>
> Cordialement,
> aicfr
>
>
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
Merci bien, cette fonction marche vraiment bien ++ aicfr
"Vincent Guichard" a écrit dans le message de news:c754i2$kjt$
[aicfr] a écrit : > Bonjour, > > Existe t il une fonction en vba qui permet de connaitre le nombre de
jour
> d'un mois d'une date donnée sans passer par des CASE. > > Cordialement, > aicfr > > 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
Vincent Guichard
Zoury
Salut Vincent! :O)
tu peux éviter l'utlisation de la fonction DateAdd() dans ton code en modifiant légèrement les paramètres passé à DateSerial()..
'*** Private Function MonthDayCount(ByRef lYear As Long, ByRef lMonth As Long) MonthDayCount = Day(DateSerial(lYear, lMonth + 1, 0)) End Function '***
en passant 0 pour le jour, DateSerial() va automatiquement cherché la dernière journée du mois précédent.