2.3Fonctions texte & date/heure
Les données arrivent rarement propres : noms EN MAJUSCULES, codes à découper, dates à recalculer. Les fonctions texte (GAUCHE, DROITE, STXT, CONCAT, MAJUSCULE…) découpent, assemblent et nettoient ; les fonctions date (AUJOURDHUI, FIN.MOIS, NB.JOURS.OUVRES, DATEDIF) calculent échéances, ancienneté et délais réels.
Deux fonctions méritent une mention spéciale : NB.JOURS.OUVRES, qui compte les jours ouvrés entre deux dates (précieuse pour les délais de livraison et les congés), et DATEDIF, non documentée par Microsoft mais universellement utilisée pour calculer un âge ou une ancienneté en années, mois, jours.
Vocabulaire de la section
- GAUCHE / DROITE / STXT
- Extraient des caractères : =GAUCHE(A1;3) prend les 3 premiers ; =STXT(A1;4;2) prend 2 caractères à partir du 4e.
- CONCAT / &
- Assemblent des textes : =CONCAT(A1;" ";B1) ou =A1&" "&B1 donnent « Marie DUPONT ».
- AUJOURDHUI()
- Renvoie la date du jour, recalculée à chaque ouverture. =AUJOURDHUI()-A1 donne un nombre de jours écoulés.
- DATEDIF
- =DATEDIF(début;fin;"y") en années, "m" en mois, "d" en jours. Absente de l'assistant mais parfaitement fonctionnelle.
- NB.JOURS.OUVRES
- Compte les jours ouvrés (lun-ven) entre deux dates, en excluant si besoin une liste de jours fériés.
Quelle fonction moderne remplace avantageusement RECHERCHEV ?
En pratique — Nettoyer un fichier RH et calculer l'ancienneté
- Colonne A : noms complets (ex. « dupont marie ») ; colonne B : dates d'embauche.
- En C2 : =NOMPROPRE(A2) → « Dupont Marie » (majuscules corrigées).
- En D2 : =DATEDIF(B2;AUJOURDHUI();"y") → l'ancienneté en années.
- En E2 : =NB.JOURS.OUVRES(B2;AUJOURDHUI()) → le nombre de jours travaillés théoriques depuis l'embauche.
Points clés à retenir
- GAUCHE/DROITE/STXT découpent ; CONCAT (ou &) assemble ; MAJUSCULE/MINUSCULE/NOMPROPRE corrigent la casse.
- SUPPRESPACE élimine les espaces parasites — la cause n°1 des RECHERCHEV qui échouent.
- AUJOURDHUI() se recalcule à chaque ouverture : parfait pour âges, échéances et compteurs.
- Pour des délais réalistes, comptez en jours ouvrés avec NB.JOURS.OUVRES, pas en jours calendaires.
Questions fréquentes
Pourquoi DATEDIF n'apparaît-elle pas quand je tape =DATE… ?
C'est une fonction héritée de Lotus 1-2-3, maintenue pour compatibilité mais volontairement non listée. Tapez-la entièrement : elle fonctionne parfaitement.
Comment assembler une date dans une phrase sans obtenir un nombre ?
Une date concaténée redevient son numéro de série. Utilisez TEXTE : ="Échéance le "&TEXTE(A1;"jj/mm/aaaa").