Monsieur Excel
Pour tout savoir faire sur Excel !

27 décembre 2005

Le dernier jour du mois

Dans mes pérégrinations de consultant, je constate souvent que mes clients ont des difficultés pour obtenir, dans un modèle, le dernier jour d’un mois.

Nous pouvons résoudre cela d'une façon particulièrement astucieuse en utilisant la fonction date(an;mois;jour) qui crée une date correspondant à l’année, au mois et au jour indiqué.

Une particularité tout à fait intéressante de cette fonction est qu’elle n’est pas du tout gênée si vous lui demandez le 45ème jour du 27ème mois d’une année donnée.

La solution est alors d’une simplicité biblique…

Pour obtenir le dernier jour du mois relatif à une date donnée, il suffit de demander le 0ème jour du mois suivant :

La formule de B2 est : =date(annee(B1);mois(B1)+1;0)

Notez au passage que je saisis toujours les noms des fonctions en minuscules.

Ainsi, quand je fais une faute de frappe, je l’identifie très rapidement car la fonction erronée n’est pas convertie automatiquement en majuscules par Excel.

9 Commentaire(s):

  • une idée plus "logique", consiste à calculer la veille du premier du mois suivant :
    =date(annee(B1);mois(B1)+1;1)-1
    Cela me semble plus simple à expliquer.

    By Anonymous Anonyme, sur 4:36 PM  

  • Certes, mais le 0ème jour du mois, c'est tellement joli :)

    By Blogger Hervé Thiriez, sur 5:41 PM  

  • Pourquoi faire simple quand on peut compliquer.
    Utiliser la fonction complémentaire fin.mois

    By Anonymous Anonyme, sur 4:55 PM  

  • L'inconvénient de la fonction fin.mois() est qu'elle exige la présence de l'utilitaire d'analyse. Si vous envoyez votre modèle à une personne qui ne l'a pas activé, cela engendrera des messages d'erreur #NOM!

    By Blogger Hervé Thiriez, sur 10:07 AM  

  • ben c'est aussi plus interessant que la bible pcq la bible ne di pas comment utilisé excel

    By Anonymous Anonyme, sur 2:16 PM  

  • toujours est-t'il que ça m'a servi, les deux méthodes marchent (jour 0 et veille du premier jour)
    merci !

    By Anonymous Anonyme, sur 10:54 AM  

  • Merci pour cette formule très utile
    ;-)

    By Anonymous Anonyme, sur 10:49 AM  

  • Merci pour cette formule simple et pratique !

    By Anonymous Cyril B, sur 2:55 PM  

  • Merci ! Les deux formules fonctionnent très bien. C'est ce que je cherchais.
    En revanche, la fonction fin.mois() fonctionne seulement pour, par exemple, les paiements à 30 jours (fin de mois) et ce n'est pas ce que je voulais.

    By Anonymous Anonyme, sur 12:00 PM  

Enregistrer un commentaire

<< Accueil