Bureautique & Productivité

Fonctions texte dans Excel (CONCAT, MAJUSCULE, SUPPRESPACE…) : tutoriel pas-à-pas

8 min de lecture

📍 Guide principal de la série : Excel pour PME : tableaux structurés, fonctions dynamiques, Copilot et Python.

Quand on travaille avec des données qui viennent d’un export comptable, d’un copier-coller depuis WhatsApp ou d’une saisie manuelle par plusieurs personnes, le texte arrive rarement propre. Des espaces parasites, des majuscules incohérentes, des numéros de téléphone formatés différemment, des noms et prénoms mélangés. Excel propose une vingtaine de fonctions texte pour nettoyer, transformer et assembler ces chaînes. Ce tutoriel couvre les plus utiles en pratique.

Prérequis

  • Excel 2016 ou plus récent (les exemples fonctionnent partout, sauf JOINDRE.TEXTE qui demande Excel 2019/Microsoft 365)
  • Avoir lu les formules essentielles est recommandé mais pas obligatoire
  • Temps : 40 minutes

Étape 1 — Concaténer : CONCAT et JOINDRE.TEXTE

Concaténer signifie assembler plusieurs chaînes en une seule. Le cas typique est de fusionner Prénom et Nom dans une colonne Nom complet. La fonction historique CONCATENER reste fonctionnelle, mais Microsoft recommande désormais CONCAT qui accepte des plages entières en un seul argument.

Saisissez en A1 le texte Aminata, en B1 le texte Diop. En C1, tapez :

=CONCAT(A1;" ";B1)

Vous obtenez Aminata Diop. L’espace entre guillemets sert de séparateur. Sans ces guillemets, vous obtiendriez AminataDiop, accolé.

Pour des assemblages plus complexes — par exemple générer une adresse email à partir du prénom, du nom et du domaine — utilisez l’opérateur & qui fait la même chose en plus court : =A1&"."&B1&"@entreprise.sn" donne Aminata.Diop@entreprise.sn.

Quand on doit assembler une plage entière avec un séparateur unique, JOINDRE.TEXTE est plus puissant. Imaginez une colonne A contenant 5 produits commandés. Pour les rassembler en une chaîne :

=JOINDRE.TEXTE("; ";VRAI;A1:A5)

Le premier argument est le séparateur (« ; « ). Le deuxième (VRAI) ignore les cellules vides. Le troisième est la plage. Résultat : Riz; Huile; Sucre; Thé; Lait. Cette fonction est apparue avec Excel 2019 et Microsoft 365.

Étape 2 — Changer la casse : MAJUSCULE, MINUSCULE, NOMPROPRE

Les bases de données ne supportent pas les variations de casse (Dakar, DAKAR, dakar sont trois valeurs distinctes pour Excel). Trois fonctions normalisent rapidement.

MAJUSCULE(texte) met tout en majuscules : =MAJUSCULE("dakar") donne DAKAR. Utile pour les codes pays, les sigles, les références produit.

MINUSCULE(texte) met tout en minuscules : =MINUSCULE("DAKAR") donne dakar. Pratique pour les emails (qui sont insensibles à la casse mais souvent stockés en minuscules par convention).

NOMPROPRE(texte) capitalise la première lettre de chaque mot : =NOMPROPRE("aminata diop") donne Aminata Diop. Attention : la fonction capitalise aussi après une apostrophe ou un tiret, ce qui peut donner des résultats inattendus pour des noms comme N’Diaye qui devient N’Diaye (correct) mais aussi D’angelo qui devient D’Angelo (correct également).

Étape 3 — Nettoyer : SUPPRESPACE et EPURAGE

Les espaces parasites en début, fin ou milieu de chaîne sont la cause numéro un d’échec dans RECHERCHEV et SOMME.SI. SUPPRESPACE retire tous les espaces sauf un seul entre les mots :

=SUPPRESPACE("  Aminata    Diop  ")

Renvoie Aminata Diop. Indispensable après un copier-coller depuis un document PDF ou un export bancaire.

EPURAGE retire les caractères non imprimables (retours à la ligne, tabulations, etc.) qui peuvent traîner dans un export système. À combiner avec SUPPRESPACE pour un nettoyage complet :

=SUPPRESPACE(EPURAGE(A1))

Étape 4 — Extraire : GAUCHE, DROITE, STXT

Ces trois fonctions extraient une portion d’une chaîne par position.

GAUCHE(texte;nombre) renvoie les nombre premiers caractères : =GAUCHE("221782268377";3) renvoie 221 (l’indicatif pays).

DROITE(texte;nombre) renvoie les nombre derniers caractères : =DROITE("Facture-2026-0042";4) renvoie 0042 (le numéro séquentiel).

STXT(texte;début;nombre) extrait à partir d’une position : =STXT("221782268377";4;9) renvoie 782268377 (le numéro local sans l’indicatif). Le premier caractère a la position 1, pas 0.

Pour des découpes plus dynamiques, ces trois fonctions se combinent avec NBCAR (longueur d’une chaîne) et TROUVE (position d’un caractère). Pour extraire le prénom dans une cellule contenant « Diop, Aminata » :

=SUPPRESPACE(STXT(A1;TROUVE(",";A1)+1;NBCAR(A1)))

Lecture : à partir de la position juste après la virgule, prendre le maximum de caractères (NBCAR), puis nettoyer les espaces.

Étape 5 — Substituer : SUBSTITUE et REMPLACER

SUBSTITUE remplace une chaîne par une autre, partout où elle apparaît. Pratique pour normaliser des numéros de téléphone : retirer les espaces, les points et les tirets en une formule.

=SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;" ";"");".";"");"-";"")

Trois SUBSTITUE imbriqués : retirer espaces, points, tirets. "77 826 83 77" devient "77826837"… attention il manque un chiffre dans cet exemple. Vérifions : "77 826 83 77" a 8 chiffres après nettoyage : 77826837. Pour un numéro sénégalais à 9 chiffres, partir de "+221 77 826 83 77" demande aussi de retirer le + et le 221, ou de garder l’indicatif intact.

REMPLACER(texte;début;nombre;nouveau) remplace par position et longueur, peu importe le contenu : =REMPLACER("ID-12345";4;5;"99999") renvoie ID-99999.

Étape 6 — Trouver une chaîne : TROUVE et CHERCHE

Les deux fonctions renvoient la position d’une sous-chaîne dans un texte. TROUVE est sensible à la casse et n’accepte pas les caractères jokers. CHERCHE n’est pas sensible à la casse et accepte * et ?.

Pour vérifier si un email contient le domaine orange.sn :

=SI(ESTNUM(CHERCHE("@gmail.com";A1));"Gmail";"Autre")

CHERCHE renvoie un nombre si la chaîne est trouvée, ou #VALEUR! sinon. ESTNUM permet de tester si on a un nombre, et donc si la chaîne est présente.

Étape 7 — Convertir : NUMERIQUE.VALEUR et TEXTE

Quand on importe des données, les nombres arrivent parfois sous forme de texte (avec une apostrophe en préfixe, ou un format de cellule incorrect). CNUM ou NUMERIQUE.VALEUR convertissent en nombre :

=CNUM("15 500")

Renvoie 15500. Inversement, TEXTE(valeur;format) transforme un nombre en texte avec un format choisi :

=TEXTE(AUJOURDHUI();"jjjj jj mmmm aaaa")

Renvoie quelque chose comme samedi 03 mai 2026. C’est utile pour générer un nom de fichier daté ou un en-tête de rapport.

Étape 8 — Vérifier que ça marche

Construisez un petit cas de nettoyage. Saisissez en A1:A5 cinq versions sales d’un même nom :  » AMINATA DIOP « , « aminata.diop », « Aminata-Diop », « AminataDiop », « Aminata DIOP ». Dans B1, mettez la formule :

=NOMPROPRE(SUPPRESPACE(SUBSTITUE(SUBSTITUE(A1;".";" ");"-";" ")))

Recopiez vers le bas. Toutes les variantes doivent donner Aminata Diop sauf la 4e (AminataDiop) qui donnera Aminatadiop car aucun séparateur n’est présent. Pour ce cas particulier, il faut une logique plus complexe — souvent, un nettoyage manuel reste plus simple que d’écrire une formule qui couvre tous les cas.

Erreurs fréquentes

Symptôme Cause Solution
SUPPRESPACE ne retire pas tout Espaces insécables (caractère 160) issus du web =SUPPRESPACE(SUBSTITUE(A1;CAR(160);" "))
NOMPROPRE casse les noms en McX Capitalisation après le c Reformater manuellement les noms d’origine étrangère
STXT renvoie chaîne vide Position de départ > longueur Vérifier avec NBCAR avant d’extraire
CONCAT donne des dates en nombre Conversion automatique des dates Encapsuler la cellule date avec TEXTE
SUBSTITUE ne remplace pas Casse différente (sensible) Utiliser MINUSCULE ou MAJUSCULE avant

Pour étoffer le tableau

🔝 Retour au guide principal : Excel pour PME.

Foire aux questions

Pourquoi mes formules texte donnent des erreurs sur les exports SAP ou Sage ?

Les exports professionnels contiennent souvent des caractères Unicode invisibles (espaces insécables, marques de gauche-à-droite). EPURAGE ne les retire pas tous. Utiliser SUBSTITUE(texte;CAR(160);" ") pour l’espace insécable, SUBSTITUE(texte;CAR(8203);"") pour le caractère zéro-width.

Comment compter le nombre de mots dans une cellule ?

Une astuce : compter les espaces et ajouter 1. =NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))+1. La formule fonctionne si la cellule contient au moins un mot.

Comment inverser nom et prénom ?

Si A1 contient « Aminata Diop », pour obtenir « Diop, Aminata » :

=STXT(A1;TROUVE(" ";A1)+1;NBCAR(A1))&", "&GAUCHE(A1;TROUVE(" ";A1)-1)

Comment trouver les doublons quand la casse diffère ?

Convertir tous les textes en minuscules avant de comparer : =MINUSCULE(SUPPRESPACE(A1)). Les doublons « Aminata Diop » et « AMINATA DIOP » deviennent identiques.

Y a-t-il une limite de longueur pour une cellule texte ?

Une cellule peut contenir jusqu’à 32 767 caractères. Au-delà, Excel tronque. Pour des contenus volumineux, mieux vaut stocker dans plusieurs cellules ou passer à un autre outil.

Les formules texte fonctionnent-elles en Google Sheets ?

La plupart oui (SOMME, MAJUSCULE, NOMPROPRE, etc.) mais avec des noms anglais : UPPER pour MAJUSCULE, PROPER pour NOMPROPRE, TRIM pour SUPPRESPACE. Convertir un classeur Excel vers Sheets traduit automatiquement les noms de fonctions, mais les formules très complexes peuvent nécessiter une réécriture.

Tutoriel Excel adapté aux PME et professionnels du Sénégal, Côte d’Ivoire, Mali, Burkina Faso, Niger, Togo, Bénin, Guinée et Mauritanie. Devise FCFA, plan comptable SYSCOHADA, contexte ouest-africain.

📊 Modèles Excel prêts à l’emploi pour PME

Tableau de bord commercial, suivi de trésorerie, gestion de stock, fichier de paie SYSCOHADA — des fichiers construits pour le contexte des PME d’Afrique de l’Ouest.

À partir de 30 000 FCFA · Livraison sous 48 à 72 h après brief

📧 E-mail💬 WhatsApp

Service ITSkillsCenter

Application mobile Android et iOS

Création d'application mobile Android et iOS. À partir de 350 000 FCFA.

Démarrer mon projet
Publicité