begin process at 2012 02 14 11:21:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

VBA

 > 

Nombre de jours du mois.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

Membre Club
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

Administrateur CodeS-SourceS

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

Membre Club

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

Sujets en rapport avec ce message

nombre d'années de mois et jours entre 2 dates [ par FloZix ] J'ai besoin de faire un prog qui calcul le nbre d'années de mois et de jours qu'il y a entre deux dates mais je ne sais pas comment faire.J'attend vot Date (inversion des jours et des mois) [ par clamor ] Salut,   Voilà mon pb. J’essai de faire un prog sur VBA. J’ai dans Convertir nombre de jours en année, mois et jours [ par mehdiyou ] salut tout le monde y'aurai t il quelqu'un qui pourrait me donner une fonction qui permet de convertir un nombre de jours en année,mois et jour.(Exp: Excel: conversion format (date) heure 00:00:00 en nombre [ par demoiselle1263 ] Bonjour: J'ai une soucis avec Excel. J'ai des données qui sont récupérées en fonction de la date et l'heure. J'ai donc une colonne qui me donne la d graphique [ par marwakarim ] Salut je veux faire une form de graphe qui me permet d'afficher des statistique a partir d'une base accès table diagramme constitué de 3 champs (M Compter nombre cellule non vide dans une colonne Excel (code VB) [ par isfaen ] Salut à tous! Je cherche une fonction déjà incrémentée dans VB qui compte le nombre de cellules non vides dans une colonne Excel. En existe il une [Catégorie modifiée VB6 --> VBA] nombre de jours entre deux dates hors jours feries [ par Mosade ] Bonjour a tous, Je souhaiterais de l aide sur un algo !! Donnees initiales sur excel : - date de debut - des dates de jours feries Je souhaite gene [Catégorie modifiée .Net --> VBA] PLanning sous ACCESS [ par dauphin37 ] J'ai un planning sous EXCEL qui en colonne affiche les jours du mois (une case par jour, une feuille par mois) et en ligne l'emploi du temps de collèg [Catégorie modifiée VB6 --> VBA] Macro dans Excel [ par gerardmireille ] Je voudrais faire sous excel écrire un petit programme pour classer les équipes d'un concours de boules. Je voudrais dans un tableau intercaler les ho [Déplacé .Net --> VBA] VBA Excel: Rechercher un caractère dans une chaîne en parcourant des cellules [ par HiiiCoach ] Bonjour à tous, Merci d'avance pour l'aide que vous m'apporterez. Je code en VB sous excel 2000, mon but serait de controler un jeu de données excel


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 7,441 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales