Les fonctions dates et heures
Pour Excel, une date est un nombre : le nombre de jours écoulés depuis le 1er janvier 1900. L’heure en est la partie décimale. Tout le module repose sur cette idée. Voici l’instant présent, tel qu’Excel le stocke :
La fonction AUJOURDHUI()
Elle renvoie la date du jour, sans heure. Elle ne prend aucun argument, mais les parenthèses restent obligatoires. Le résultat se met à jour à chaque ouverture du classeur et à chaque recalcul.
=AUJOURDHUI()| Formule | Résultat | Ce que ça calcule | |
|---|---|---|---|
| C1 | =AUJOURDHUI() | La date du jour | |
| C2 | =B2-AUJOURDHUI() | Jours restants avant l’échéance (format Standard) | |
| C3 | =DATEDIF(B3;AUJOURDHUI();"y") | Âge en années révolues | |
| C4 | =SI(B2<AUJOURDHUI();"En retard";"OK") | Contrôle d’une échéance |
Exercice : afficher « Il reste X jours avant la session TOSA »
La date de la session est en B2. Construisez la phrase dans une seule cellule.
="Il reste "&B2-AUJOURDHUI()&" jours avant la session TOSA"La fonction MAINTENANT()
Elle renvoie la date et l’heure courantes. La partie entière est la date, la partie décimale est la fraction de journée écoulée : 12 h vaut 0,5 et 18 h vaut 0,75.
=MAINTENANT()| Formule | Résultat | Usage | |
|---|---|---|---|
| B1 | =HEURE(MAINTENANT()) | Extraire l’heure (0 à 23) | |
| B2 | =MOD(MAINTENANT();1) | Garder uniquement l’heure (format hh:mm) | |
| B3 | =SI(HEURE(MAINTENANT())<12;"Bonjour";"Bon après-midi") | Message selon le moment de la journée |
La fonction FIN.MOIS()
Elle renvoie le dernier jour du mois, avant ou après une date de départ. C’est la fonction des échéances de paiement et des clôtures mensuelles.
=FIN.MOIS(date_départ;mois)- date_départ
- La date de référence (cellule, DATE() ou AUJOURDHUI()).
- mois
- Nombre de mois à ajouter : 0 pour le mois en cours, 1 pour le mois suivant, -1 pour le mois précédent.
| Formule | Résultat | Cas d’usage | |
|---|---|---|---|
| B2 | | Fin de mois décalée du nombre de mois choisi | |
| B3 | =FIN.MOIS(A2;0) | Paiement fin de mois | |
| B4 | =FIN.MOIS(A2+30;0) | Paiement à 30 jours fin de mois | |
| B5 | =FIN.MOIS(A2;-1)+1 | Premier jour du mois | |
| B6 | =JOUR(FIN.MOIS(A2;0)) | Nombre de jours dans le mois |
Les autres fonctions de dates et heures
Changez les deux dates : tous les résultats se recalculent comme dans une feuille Excel. A2 est la date de début, B2 la date de fin.
| Famille | Formule | Résultat | Rôle |
|---|
Exercice : date de fin d’une formation de 10 jours ouvrés
La formation démarre le lundi en A2, les jours fériés sont listés en F2:F12. Quelle formule donne le dernier jour de formation ?
=SERIE.JOUR.OUVRE(A2-1;10;$F$2:$F$12)On part de la veille (A2-1) pour que le lundi compte comme 1er jour.
Créer un calendrier rapidement avec DATE() et SEQUENCE()
Avec Excel 365 ou 2021, une seule formule remplit toute la grille d’un mois. SEQUENCE(lignes;colonnes;début;pas) génère une suite de nombres, donc une suite de dates.
- Saisissez l’année en
A1et le numéro du mois enB1. - En
A3, les en-têtes des jours :A3fx=TEXTE(SEQUENCE(1;7;2);"jjj") - En
A4, la grille (6 semaines × 7 jours, débutant le lundi) :A4fx=SEQUENCE(6;7;DATE(A1;B1;1)-JOURSEM(DATE(A1;B1;1);2)+1) - Format de cellule personnalisé
jsur A4:G9 pour n’afficher que le numéro du jour. - Mise en forme conditionnelle sur A4:G9 pour griser les jours hors mois :MFCfx
=MOIS(A4)<>$B$1
Encadré : premier lundi calculé, 1re valeur de SEQUENCE. En plein : aujourd’hui.
=LET(d;DATE(A1;B1;1);SEQUENCE(6;7;d-JOURSEM(d;2)+1))=SEQUENCE(DATE(A1;12;31)-DATE(A1;1;1)+1;1;DATE(A1;1;1))#PROPAGATION!. Videz la plage de destination.Exercice : griser les week-ends du calendrier
Ajoutez une seconde règle de mise en forme conditionnelle sur A4:G9.
=JOURSEM(A4;2)>5