VBA: Trouver le nombre de jours dans un mois


Si vous avez besoin de déterminer le nombre de jours dans un mois particulier, la méthode la plus simple est la suivante:

"On prend le premier jour du mois suivant et on enlève un jour."

Cela nous donne le dernier jour du mois en question et il suffit alors d'extraire le nombre de jours de cette date (via la fonction VBA Day).

Prenons un exemple: on veut déterminer le nombre de jours du mois de février 2017. Selon la méthode plus haut, il suffit d'utiliser la "formule" suivante: 1/3/2017 - 1 jour

Fonction VBA pour déterminer le dernier jour du mois

En code VBA, cela donne ceci (une fonction qui utilise comme argument une date):

Comme vous voyez, cela n'est pas bien compliqué.

Si vous êtes un adepte, comme moi 🙂 , de manière concise d'écrire le code, il est possible de l'exprimer en une seule ligne:

 

Utilisation de la fonction Excel FIN.MOIS en VBA pour déterminer le dernier jour du mois

Il existe une autre possibilité – utiliser une fonction d'Excel (FIN.MOIS) à la place d'une combinaison des fonctions VBA de base. Le code VBA serait alors le suivant:

 

(!) Notez que dans le code VBA, il faut utiliser le nom anglais de la fonction FIN.MOIS (c'est-à-dire EOMONTH). Mais je dois avouer que j'évite d'utiliser les WorksheetFunction pour différentes raisons (notamment l'utilisation des Variant et la gestion des erreurs)…

Pour en savoir plus sur les dates en VBA

8 0

Pourrait vous intéresser

Partagez cette page...
Share on FacebookShare on Google+Share on LinkedInTweet about this on TwitterShare on RedditShare on TumblrDigg thisEmail this to someone

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée.