Accueil > Forum > > > > Nombre de jours du mois.
Nombre de jours du mois.
vendredi 5 août 2005 à 22:42:14 |
Nombre de jours du mois.

alikote
|
Je vous salue tous, Voilà j'aime écrire des choses en VBA (Excel et/ou Word). J'ai besoin d'une procédure (ou méthode) ou fonction qui puisse me dire exactement le nombre de jours dans un certain mois d'une certaine année. J'en ai besoin dans une macro Excel. Quelqu'un a du se frotter déjà à ce problème, j'en suis presque sûre. Merci de votre réaction.
|
|
vendredi 5 août 2005 à 23:00:27 |
Re : Nombre de jours du mois.

Gobillot
|
Dim année As Integer
Dim mois As Integer
mois = 8
année = 2005
MsgBox (DateSerial(année, mois + 1, 1) - DateSerial(année, mois, 1))
Daniel
|
|
vendredi 5 août 2005 à 23:07:17 |
Re : Nombre de jours du mois.

frop01
|
Voici 4 fonctions qui permettent de connaître le nombre de jours d'un mois.
A vous de choisir celle qui vous convient le mieux :
Public Function DaysInMonth(ByVal nMonth As Integer, ByVal nYear
As Integer) As Integer
DaysInMonth = Day(DateAdd("d", -1, DateAdd("m",
1, DateSerial(nYear, nMonth, 1))))
End Function
Public Function DaysInMonth(ByVal nMonth As Integer, ByVal nYear As Integer) As
Integer
DaysInMonth = Day(DateSerial(nYear, nMonth + 1, 0))
End Function
Public Function DaysInMonth(ByVal nMonth As Integer, ByVal
nYear As Integer) As Integer
If nMonth = 12 Then
DaysInMonth = Day(DateSerial(nYear +
1, 1, 1) - 1)
Else
DaysInMonth = Day(DateSerial(nYear,
nMonth + 1, 1) - 1)
End If
End Function
Public Function DaysInMonth(ByVal nMonth As Long, ByVal nYear As Long) As Long
Select Case nMonth
Case 2
If isLeapYear(nYear)
Then
DaysInMonth = 29
Else
DaysInMonth = 28
End If
Case 4, 6, 9, 11
DaysInMonth =
30
Case Else
DaysInMonth =
31
End Select
End Function
*************
bibliographie : http://faq.vb.free.fr/index.php?question=84
PS: Si votre problème est résolu, prière de bien vouloir clôturer votre message par une réponse acceptée !
|
|
vendredi 5 août 2005 à 23:08:59 |
Re : Nombre de jours du mois.

dragon
|
la bonne vieille méthode. Marche toujours, n'importe quel année, n'importe quel mois, bisextile ou non public function nbJourMois(mois as integer, annee as integer) as integer return nbJourMois(mois,annee,31) end function private function nbJourMois(mois as integer, annee as integer, jour as integer) as integer on error goto erreur dim test as date test = annee & "-" & mois & "-" & jour nbJourMois = jour exit function erreur: nbJourMois = nbJourMois(mois,annee,jour-1) end function
------------------------------------------------- Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol -------------------------------------------------
|
|
vendredi 5 août 2005 à 23:26:18 |
Re : Nombre de jours du mois.

jack
|
Salut Oui, en effet, c'est excellent cette idée Dragon. Il y a aussi la méthode qui consiste à regarder le n° du jour qui précède le 1er jour du mois suivant.
Je crois que c'est ce que propose Gollibot, Gobillot, pardon
Vala Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate) (je
|
|
vendredi 5 août 2005 à 23:47:02 |
Re : Nombre de jours du mois.

dragon
|
l'avantage de ma version, c,est qu'elle peut-être adapter dasn tout les languages. Une date fausse va nécessairement planter. donc si on ajoute la gestion d'erreur avec un on error en vb6.0 ou un try/catch en .net, ca va toujours fonctionner. Mais c,est pas comme qui dirait très propre comme code. j'ai jamais tester voir si c'était plus rapide par contre. Faudrait tester la solution de drop01 et la mienne genre 100000 fois voir la différence en temps. Par contre, pour un débutant, ma façon est beaucoup plus simple a comprendre, malgré qu'elle soit récurcive (la fonction s'appelle elle même, jusqu'à ce qu'elle aille trouver la bonne réponse)
------------------------------------------------- Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol -------------------------------------------------
|
|
samedi 6 août 2005 à 12:15:37 |
Re : Nombre de jours du mois.

alikote
|
Re-bonjour chers amis,
Merci à vous tous qui avez réagi à ma requête, merci aussi à ceux qui en avaient l'intention. J'ai testé toutes les réponses sur le mois de fév-2005. Elles ont toutes donné la bonne réponse à l'exception de la dernière fonction de frop01. Là j'ai le message qui indique que la fonction isLeapYear(nYear) n'est pas définie. Je pense que cette fonction n'est pas connue de Excel VBA et qu'il faut l'écrire.
Encore merci, la question peut-être close sauf si quelqu'un (en l'occurrence frop01) veut revoir le problème de la fonction isLeapYear(nYear).
Connaître, connaître; toujours connaître, mieux et plus, pour soi et les autres !!! Ali C. KOTE
|
|
samedi 6 août 2005 à 13:51:22 |
Re : Nombre de jours du mois.

frop01
|
j'avais dit 4 fonctions et j'ai pas mis la fontion IsLeapYear.
Sinon pour cette fonction que tu doit la déclarer !!
elle retourne si l'année est bisextile ou non !
peut-etre parcequ'elle manque la valeur de retour (As Boolean):
Public Function isLeapYear(ByVal nYear As Long) As Boolean
isLeapYear = ((nYear Mod 4 = 0) And (nYear Mod 100 <> 0)) Or (nYear Mod 400 = 0)
End Function
PS: Si votre problème est résolu, prière de bien vouloir clôturer votre message par une réponse acceptée !
|
|
lundi 8 août 2005 à 19:51:21 |
Re : Nombre de jours du mois.

alikote
|
Bonjour,
Je reviens pour cette fois demander ceci:
Je veux créer un fichier d'aide pour une petite application que j'ai écrite en VBA (Excel). J'aimerais avoir une idée de la structure d'un tel fichier et comment je peux y faire référenc à partir de mon application.
Connaître, connaître; toujours connaître, mieux et plus, pour soi et pour les autres !!! Ali C. KOTE
|
|
Cette discussion est classée dans : nombre, excel, mois, jours
Répondre à ce message
Livres en rapport
|
Derniers Blogs
SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|