2.3 · Fonctions texte & date/heure

Niveau 2 · Intermédiaire : fonctions, recherche & filtres

2.3Fonctions texte & date/heure

Objectif : Nettoyer et assembler du texte, et faire des calculs de dates fiables.
Temps estimé : 13 min · lecture autonome · Si vous n'avez que 5 min : lisez « L'essentiel en 30s » + le schéma.

L'essentiel en 30 secondes

  • Extraire puis assembler : GAUCHE/DROITE/STXT découpent, & et CONCAT recollent — SUPPRESPACE nettoie entre les deux.
  • Une date est un nombre : Fin − Début = jours, AUJOURDHUI() = jour courant — afficher le résultat en Nombre.
  • Nettoyer avant de croiser : espaces et casse font rater les RECHERCHEX — SUPPRESPACE + MAJUSCULE d'abord.

Mini-cas filé — Wassim et les fournisseurs en double

Wassim (2.2) voit ses RECHERCHEX rater des fournisseurs pourtant présents : «SARL Atlas» avec deux espaces, «sarL atlas» en minuscules, dates d'échéance en texte qui refusent de se calculer. Il nettoie : SUPPRESPACE retire les espaces parasites, NOMPROPRE uniformise la casse, et ses croisements remarquent enfin. Puis il calcule les retards : échéance moins aujourd'hui en jours, ancienneté des impayés avec DATEDIF. En 2.4, ces retards calculés piloteront les couleurs d'alerte ; en 2.5, le tout vivra dans un tableau structuré.

Suite du fil rouge 2.2 : les données de Wassim deviennent propres et calculables — et continuent en 2.4 et 2.5.

1. Extraire et assembler du texte

GAUCHE, DROITE, STXT extraient des morceaux ; NBCAR compte les caractères ; SUPPRESPACE retire les espaces en trop ; MAJUSCULE/MINUSCULE/NOMPROPRE changent la casse. Pour assembler, l'opérateur & ou CONCAT : =A2&" "&B2 colle prénom et nom. Wassim construit un code fournisseur propre : initiale + nom nettoyé + wilaya, le tout en majuscules.

2. Les dates sont des nombres

Une date est un numéro de jour : on peut donc calculer avec. =B2-A2 donne un nombre de jours ; =AUJOURDHUI() renvoie la date du jour ; ANNEE/MOIS/JOUR extraient les composantes. DATEDIF calcule des écarts en années/mois/jours : =DATEDIF(A2 ; AUJOURDHUI() ; "y") pour une ancienneté en années. Wassim calcule jours de retard = échéance − aujourd'hui, et affiche le résultat en format Nombre (sinon Excel affiche une fausse date).

3. Nettoyer avant d'analyser

Les données importées sont souvent « sales » : espaces invisibles, casse incohérente, dates en texte. Le réflexe : SUPPRESPACE pour les espaces, NOMPROPRE pour la casse, CNUM/DATEVAL pour reconvertir nombres et dates stockés en texte. Wassim nettoie les noms de fournisseurs AVANT ses RECHERCHEX (2.2) : deux colonnes homogénéisées des deux côtés, sinon la clé « identique » reste introuvable. Nettoyer d'abord, analyser ensuite.

Erreur d'interprétation fréquente : « Ma soustraction de dates est fausse, Excel ne sait pas calculer ». Si : une date est un nombre, la soustraction est juste — c'est le format de la cellule résultat qui ment (hérité en Date). La règle de Wassim : résultat de calcul de dates → format Nombre ; date en texte → DATEVAL d'abord ; clé qui rate → SUPPRESPACE des deux côtés avant d'accuser la formule.
Du brut au calculable Nettoyer le texte, assembler propre, calculer les dates Nettoyer (texte) SUPPRESPACE,casse, CNUM/DATEVALAssembler (& / CONCAT) Extrairepuis recoller propreCalculer (dates) Fin −Début = jours, DATEDIF
Nettoyer le texte, assembler propre, calculer les dates
Version texte du schéma (SEO / lecteurs d'écran / traduction) : 1) Wassim NETTOIE : SUPPRESPACE sur les noms de fournisseurs, NOMPROPRE pour la casse, DATEVAL pour les échéances restées en texte. 2) Il ASSEMBLE : GAUCHE pour l'initiale, & pour recoller un code propre en majuscules. 3) Il CALCULE : échéance − AUJOURDHUI() en jours de retard (format Nombre), DATEDIF pour l'ancienneté en années. Leçon : des données propres se croisent sans erreur et des dates-nombres se calculent.

🔎 Exemple concret — 🔎 Exemple concret — Retard de paiement de Wassim

Échéance en B2 ; Wassim calcule le retard et construit un code propre (initiale en A2, nom en C2) :

=B2-AUJOURDHUI()   → afficher en format Nombre (jours restants)
=MAJUSCULE(GAUCHE(A2;1)) & "." & MAJUSCULE(SUPPRESPACE(C2))
=DATEDIF(A2; AUJOURDHUI(); "y")   → ancienneté en années

Lecture : la soustraction de dates donne des jours ; GAUCHE + SUPPRESPACE + & fabriquent un identifiant sans espaces cachés.

Leçon : un résultat de dates affiché en Date est un format à corriger, pas un calcul à jeter.

Vocabulaire de la section

SUPPRESPACE
Retire les espaces de début, de fin et les doublons internes : l'arme anti-clés « identiques » qui ratent.

Exemple simple : Wassim nettoie «SARL Atlas» avant sa RECHERCHEX.

Ce que ce n'est pas : une mise en forme qui colore les cellules.

Réflexe : nettoyer des deux côtés avant de croiser.

& / CONCAT
Assemblent plusieurs textes en une seule chaîne : =A2&" "&B2.

Exemple simple : Wassim colle initiale, point et nom en un code.

Ce que ce n'est pas : l'addition + réservée aux nombres.

Réflexe : assembler avec &, pas avec +.

AUJOURDHUI
Renvoie la date du système, recalculée à chaque ouverture : la référence des retards et échéances.

Exemple simple : Wassim compare chaque échéance à AUJOURDHUI().

Ce que ce n'est pas : une date figée tapée à la main.

Réflexe : référence vivante des délais.

DATEDIF
Écart entre deux dates en années ("y"), mois ("m") ou jours ("d") : âges et anciennetés.

Exemple simple : Wassim calcule l'ancienneté d'un impayé avec =DATEDIF(A2;AUJOURDHUI();"y").

Ce que ce n'est pas : une simple soustraction affichée en date.

Réflexe : écarts calendaires = DATEDIF.

En pratique — En pratique — Nettoyer puis calculer

  1. Nettoyez une colonne de noms avec SUPPRESPACE + NOMPROPRE.
  2. Assemblez un code propre avec GAUCHE et & (initiale + nom).
  3. Calculez des jours restants : =Échéance-AUJOURDHUI(), format Nombre.
  4. Calculez une ancienneté en années avec DATEDIF.
Vous transformez du texte brut en données propres et calculez avec les dates.

Script prêt à dire — expliquer le nettoyage (30 s)

« Nos fournisseurs existaient en double à cause d'espaces invisibles et de casses différentes : je nettoie tout avec SUPPRESPACE et NOMPROPRE avant de croiser, et les recherches remarquent. Les échéances sont de vrais nombres, donc le retard se calcule tout seul en jours. Données propres d'abord, analyses fiables ensuite. »

À dire en montrant les doublons de Wassim fusionner après nettoyage.

Modèle copier-coller — nettoyage + dates

=SUPPRESPACE(A2)
=NOMPROPRE(SUPPRESPACE(A2))
=B2-AUJOURDHUI()
=DATEDIF(A2; AUJOURDHUI(); "y")

Clés en double

«SARL Atlas» vs «sarL atlas» : Wassim applique SUPPRESPACE + MAJUSCULE des deux côtés et les doublons fusionnent.

Date en texte

Une échéance importée refuse de se calculer : Wassim la reconvertit avec DATEVAL, puis soustrait normalement.

Fausse date résultat

Un retard affiche « janv.-1900 » : Wassim repasse la cellule en format Nombre — le calcul était juste.

Code propre

Identifier chaque fournisseur d'un code court : Wassim combine GAUCHE, SUPPRESPACE, MAJUSCULE et & en une formule.

✓ Bonnes pratiques

  • Nettoyer (SUPPRESPACE, casse) avant tout croisement.
  • Assembler avec & (rapide) ou CONCAT.
  • Se rappeler qu'une date = un nombre : résultat en format Nombre.

✗ Pièges fréquents

  • Croire qu'une date en texte se calcule (il faut DATEVAL).
  • Oublier les espaces invisibles qui font rater les RECHERCHEX.
  • Extraire par position fixe (GAUCHE/DROITE) sur des textes de longueurs variables.

Points clés à retenir

  • GAUCHE/DROITE/STXT extraient ; NBCAR compte ; SUPPRESPACE nettoie.
  • & et CONCAT assemblent du texte.
  • Une date est un nombre : Fin − Début = jours ; DATEDIF = écarts.
  • Nettoyer avant d'analyser (espaces, casse, texte vers nombre/date).

Défi 48h — appliquez demain

Sur une colonne réelle (fournisseurs, clients) : SUPPRESPACE + casse appliqués, un code assemblé avec &, puis un retard en jours calculé et affiché en Nombre.

Checklist sortie de section
  • Je peux nettoyer du texte (SUPPRESPACE, casse) avant tout croisement.
  • Je sais assembler (GAUCHE, &, CONCAT) des identifiants propres.
  • Je calcule avec les dates (soustraction, AUJOURDHUI, DATEDIF) en format Nombre.
Auto-évaluation 1-5 : est-ce que mes clés se croisent sans #N/A parasites ?est-ce que mes résultats de dates s'affichent en nombres ?

Questions fréquentes

Pourquoi ma soustraction de dates donne une date au lieu d'un nombre ?

La cellule résultat a hérité d'un format Date. La valeur (nombre de jours) est correcte : passez la cellule en format Nombre pour l'afficher comme un entier.

Mes RECHERCHEX échouent sur des clés « identiques » ?

Souvent des espaces invisibles ou une casse différente. Appliquez SUPPRESPACE (et éventuellement MAJUSCULE) des deux côtés pour homogénéiser avant de croiser.

Vérifiez votre compréhension

Quel opérateur assemble le contenu de deux cellules texte ?

Ressources supplémentaires (optionnel, pour aller plus loin)

Examen du niveau 2Questions inédites et durcies pour valider vos acquis