=SUBSTITUE(A2;"-";"") supprime chaque tiret du texte de A2 : SUBSTITUE trouve l'ancien texte et met le nouveau à sa place, ici un texte vide. =SUBSTITUE(A2;"-";".") mettrait plutôt un point à la place de chaque tiret. Dans un Excel anglais, SUBSTITUE s'appelle SUBSTITUTE ; le tableau affiche les formules sous cette forme anglaise, avec des virgules, mais vous pouvez aussi les taper comme dans un Excel français, avec des points-virgules : =SUBSTITUE(A2;"-";"").
| A | B | C | |
|---|---|---|---|
| 1 | Phone | Digits only | With dots |
| 2 | 555-201-3344 | 5552013344 | 555.201.3344 |
| 3 | 555-870-1122 | 5558701122 | 555.870.1122 |
| 4 | 555-433-9001 | 5554339001 | 555.433.9001 |
=SUBSTITUE(A2;"-";"")Le résultat est du texte, même quand il ne reste que des chiffres. Ajoutez -- devant, =--SUBSTITUE(A2;"-";""), quand il vous faut un nombre.
SUBSTITUE ou REMPLACER
=SUBSTITUTE(text, old_text, new_text, [instance_num])
=REPLACE(old_text, start_num, num_chars, new_text)
SUBSTITUE cherche un contenu : peu importe où se trouve old_text. REMPLACER (REPLACE en anglais) ne cherche rien : elle compte les caractères et en écrase num_chars à partir de start_num.
| A | B | |
|---|---|---|
| 1 | Text | Result |
| 2 | Report 2025 final | Report 2026 final |
| 3 | Report 2025 final | Report 2026 final |
| 4 | ID-0042 | SKU-0042 |
| 5 | 5551234 | 555-1234 |
=SUBSTITUE(A2;"2025";"2026")- B2 et B3 donnent le même résultat, mais B3 ne fonctionne que parce que l'année commence au caractère 8. Si le texte change, SUBSTITUE la trouve toujours ; REMPLACER, non.
- B4 remplace les 2 premiers caractères, quels qu'ils soient, par
SKU. - B5 utilise une longueur de 0 : rien n'est supprimé, donc REMPLACER insère le tiret après le troisième caractère. C'est la méthode habituelle pour insérer un caractère à une position donnée.
Utilisez SUBSTITUE quand vous connaissez le texte, REMPLACER quand vous connaissez la position. Pour une modification par position, TROUVE peut fournir la position : =REMPLACER(A2;TROUVE(" ";A2);1;"_") remplace la première espace.
Remplacer seulement la deuxième (nième) occurrence
Le quatrième argument de SUBSTITUE choisit l'occurrence à changer. Sans lui, toutes changent :
| A | B | |
|---|---|---|
| 1 | Path | Result |
| 2 | 2026-03-15-final | 2026/03/15/final |
| 3 | 2026-03/15-final | |
| 4 | 2026-03-15 final |
=SUBSTITUE(A2;"-";"/";2)B2 change chaque tiret. B3, avec 2, ne change que le deuxième et donne 2026-03/15-final ; B4 met une espace à la place du troisième. Un numéro d'occurrence supérieur au nombre de correspondances ne change rien.
| A | B | |
|---|---|---|
| 1 | Plan | New name |
| 2 | Basic monthly |
À vous : En B2, remplacez Basic par Standard dans le nom de l'offre de A2, avec une formule.
Supprimer plusieurs caractères différents
SUBSTITUE traite un seul old_text par appel. Pour plusieurs, imbriquez les appels : chacun travaille sur le résultat de celui qu'il contient.
| A | B | |
|---|---|---|
| 1 | Phone | Digits |
| 2 | (555) 201-3344 | 5552013344 |
| 3 | (555) 870-1122 | 5558701122 |
=SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A2;"(";"");")";"");"-";"");" ";"")Lisez-la de l'intérieur vers l'extérieur : supprimer (, puis ), puis -, puis les espaces. Dans Microsoft 365, =REGEX.REMPLACER(A2;"[^0-9]";"") supprime en un seul appel chaque caractère qui n'est pas un chiffre. Pour les espaces en trop en particulier, SUPPRESPACE est le meilleur outil, car elle garde une espace entre les mots.
Compter les occurrences d'un caractère ou d'un mot
SUBSTITUE avec un texte vide supprime chaque occurrence, donc la longueur perdue est le nombre de caractères supprimés. Divisez par la longueur du mot pour compter des mots :
| A | B | C | |
|---|---|---|---|
| 1 | Text | Commas | "red" appears |
| 2 | red, green, red, blue | 3 | 2 |
| 3 | Red, red, red | 2 | 2 |
=NBCAR(A2)-NBCAR(SUBSTITUE(A2;",";""))C3 renvoie 2, pas 3 : SUBSTITUE respecte la casse, donc Red n'est pas supprimé. Utilisez SUBSTITUE(MINUSCULE(A3);"red";"") pour compter sans tenir compte de la casse.
| A | B | |
|---|---|---|
| 1 | Tags | Count |
| 2 | excel,text,formulas,tips |
À vous : Les étiquettes de A2 sont séparées par des virgules. En B2, comptez combien il y a d'étiquettes (une de plus que le nombre de virgules).
Erreur fréquente : SUBSTITUE pour modifier un nombre
SUBSTITUE travaille sur le texte d'un nombre, et le résultat est du texte. =SUBSTITUE(A2;"0";"") sur 1050 donne 15 sous forme de texte, et un format comme $1,050.00 est ignoré parce que SUBSTITUE lit la valeur stockée, 1050. Pour modifier des nombres, utilisez l'arithmétique. Pour modifier du texte dans de nombreuses cellules à la fois, sans formules, Accueil > Rechercher et sélectionner > Remplacer (Ctrl+H ; Contrôle+H sur un Mac) offre l'option Respecter la casse et remplace sur place.
Questions fréquentes
Quelle est la différence entre SUBSTITUE et REMPLACER dans Excel ?
SUBSTITUE trouve le texte d'après son contenu : =SUBSTITUE(A2;"old";"new") change chaque old. REMPLACER travaille par position : =REMPLACER(A2;5;3;"new") écrase 3 caractères à partir du 5e, quels qu'ils soient.
Comment supprimer un caractère d'une cellule dans Excel ?
Remplacez-le par un texte vide : =SUBSTITUE(A2;"-";"") supprime chaque tiret. Pour plusieurs caractères, imbriquez les appels : =SUBSTITUE(SUBSTITUE(A2;"(";"");")";"").
Comment compter combien de fois un caractère apparaît dans une cellule ?
Comparez la longueur avant et après sa suppression : =NBCAR(A2)-NBCAR(SUBSTITUE(A2;",";"")) compte les virgules de A2. Pour un mot, divisez par sa longueur : =(NBCAR(A2)-NBCAR(SUBSTITUE(A2;"red";"")))/3.
SUBSTITUE respecte-t-elle la casse ?
Oui. =SUBSTITUE("Red red";"red";"blue") donne Red blue. Pour ignorer la casse, passez d'abord le texte en minuscules, =SUBSTITUE(MINUSCULE(A2);"red";"blue"), ou utilisez Rechercher et remplacer (Ctrl+H), qui ignore la casse par défaut.