lundi 30 décembre 2019

[ Excel ] Une formule pour calculer le nombre de jours (ou le dernier jour) dans un mois donné

Excel[ Article mis à jour en décembre 2019 ]
Combien y a-t-il de jours en décembre ? La réponse, c'est bien sûr 31. Mais comment répondre à cette question dans un calcul avec Excel ? Le logiciel ne propose pas de fonction pour connaître le nombre de jours dans le mois d'une date donnée, pour une date stockée dans une cellule. Il faut donc utiliser une formule.


Formule pour Excel 2007 Excel 2010 Excel 2013 Excel 2016

Comme souvent avec les calculs sur les dates avec Excel, la formule qui convient est assez astucieuse. Le nombre de jours dans un mois donné - l'information que l'on recherche - est le quantième du dernier jour de ce mois : 30 pour avril, 31 pour mai, etc.

Or, le dernier jour d'un mois, c'est aussi la veille du premier jour du mois suivant.

Voilà l'astuce : les notions de premier et de veille sont des données idéales pour un calcul.

Pour le premier calcul, on peut utiliser une fonction, car 1 (premier) est un argument connu et fixe. Et pour la veille, sa valeur est exactement "moins un jour" ! D'où la formule suivante :

=JOUR(DATE(ANNEE(cellule);MOIS(cellule)+1 ;1)-1)

cellule est la référence à la cellule, au format date, qui contient la date du mois concerné (n'importe quelle date dans le mois)

La formule expliquée

Dans cette formule, on passe à la fonction DATE les arguments ANNEE(cellule) (l'année de la date concernée), MOIS(cellule)+1 (le mois qui suit celui de la date concernée) et 1 (le premier jour). Voilà pour "le premier jour du mois suivant".

Ensuite, on passe ce résultat moins 1 (la veille) à la fonction JOUR. Et voilà "la veille du premier jour du mois suivant", donc le dernier jour du mois !

Cette formule fonctionne pour toutes les dates gérées par Excel (depuis le 1er janvier 1900 dans le système de date utilisé par défaut par la version Windows d'Excel), et retourne donc une valeur entre 28 et 31.

capture d'écran Excel - formule de calcul du nombre de jours dans un mois

pictogramme astuce  Astuce  
Cette formule peut-être adaptée pour déterminer si l'année d'une date stockée dans une cellule est bissextile : il suffit de vérifier quel est le dernier jour du mois de février (28 ou 29). Dans notre formule, cela revient à passer en argument de la fonction DATE la référence au mois de mars (3). Ce qui donne :

=SI(JOUR(DATE(ANNEE(cellule);3;1)-1)=29;"Année bissextile !";"Année normale")


Articles populaires