Éditeur Excel en ligne
Utiliser gratuitement

SUBSTITUE dans Excel : syntaxe, exemples et erreurs

Mis à jour le 2026-10-13 · Gratuit · Compatible Excel et Google Sheets

Syntaxe

=SUBSTITUE(texte, texte_cherché, texte_de_remplacement, [no_position])

Réponse rapide

SUBSTITUE échange un morceau de texte contre un autre partout où il apparaît : =SUBSTITUE(A2, "-", " ") transforme « 555-01-2345 » en « 555 01 2345 ». Il distingue les majuscules, remplace toutes les occurrences sauf si no_position en fixe une, et un no_position de 0 renvoie #VALEUR!.

Syntaxe

=SUBSTITUE(texte, texte_cherché, texte_de_remplacement, [no_position])
ArgumentCe que ça veut dire
texteLa cellule ou le littéral dans lequel chercher. Obligatoire.
texte_cherchéLe morceau exact de texte à remplacer. L’appariement distingue les majuscules et est littéral — pas de jokers. Obligatoire.
texte_de_remplacementCe qui le remplace. Une chaîne vide "" efface le morceau sans laisser de trace. Obligatoire.
[no_position]Quelle occurrence remplacer : 3 ne change que la troisième. Sans lui, toutes les occurrences changent. Doit valoir 1 ou plus.

Selon vos paramètres régionaux, les arguments sont séparés par des points-virgules au lieu de virgules : =SUBSTITUE(A2; "-"; " "). C’est la norme dans les pays où la virgule sert de séparateur décimal.

Deux comportements surprennent tout le monde une fois : l’appariement distingue les majuscules (« ID » et « id » sont deux cibles différentes), et sans no_position le remplacement touche chaque occurrence — il n’existe pas d’interrupteur « seulement la première ».

Exemples de base

=SUBSTITUE(A2, "-", " ")

Tirets contre espaces : téléphones, références et numéros écrits avec des traits d’union deviennent lisibles d’un coup. Chaque tiret change — la formule répète l’échange dans toute la cellule.

=SUBSTITUE(SUBSTITUE(A2, "(", ""), ")", "")

Supprimer des caractères : le texte_de_remplacement "" efface chaque morceau sans laisser de trace. En imbriquant deux SUBSTITUE, une seule formule arrache les deux parenthèses de « (555) 0102 » — une couche par caractère à faire disparaître.

=SUBSTITUE(A2, "/", "-", 2)

L’argument no_position épingle une seule occurrence : seul le deuxième slash bascule en tiret, le premier et le troisième restent en place. Les occurrences se comptent de gauche à droite depuis le début du texte.

=NBCAR(A2)-NBCAR(SUBSTITUE(A2, " ", ""))+1

Le compteur de mots classique : supprimer tous les espaces et comparer les deux longueurs donne le nombre d’espaces, et +1 le transforme en nombre de mots. Sans VBA, sans analyse de données — une formule.

Le résultat de SUBSTITUE est du texte — même quand il ressemble à un nombre. Le « 1234 » né du nettoyage de « 1 234 » ne somme pas, ne moyenne pas, ne trace pas. Emballez-le : =CNUM(SUBSTITUE(A2, " ", "")) ramène le texte nettoyé en vrai nombre.

Erreurs courantes et comment les corriger

SymptômeCause la plus couranteCorrectif
Rien ne se remplaceMajuscules différentes — « ID » n’attrape pas « id » — ou un espace final invisible qui rend « abc » différent de « abc ».Alignez les majuscules exactes, nettoyez d’abord la source avec SUPPRESPACE, ou passez par la boîte Rechercher et remplacer — là, les majuscules sont une case à cocher, pas une règle dure.
#VALEUR!no_position vaut 0 ou est négatif.Utilisez 1 ou plus — ou supprimez l’argument entièrement pour remplacer toutes les occurrences.
La mauvaise occurrence a changéLes occurrences se comptent de gauche à droite et la numéro 2 a touché celle que vous vouliez garder.Comptez d’abord les occurrences avec l’astuce NBCAR, ou rendez la cible unique avec du contexte : =SUBSTITUE(A2, "/2024/", "/2025/") ne touche que la barre dans ce motif.
Plus a changé que prévuUn texte_cherché court attrape l’intérieur de mots plus longs : remplacer « 1 » touche aussi « 12 » et « 21 ».Incluez les caractères voisins dans texte_cherché, ou épinglez l’occurrence avec no_position.
Les nombres ne calculent plusLe résultat est du texte, même avec une tête numérique.Emballez le tout dans CNUM, ou continuez à utiliser la cellule d’origine pour les calculs.

Encore une non-opération silencieuse : quand no_position dépasse le nombre réel d’occurrences, SUBSTITUE renvoie le texte d’origine intact — sans erreur, sans indice. Si une formule « ne fait rien », comptez les occurrences avant de suspecter l’orthographe.

SUBSTITUE face à REMPLACER

SUBSTITUEREMPLACER
Trouve parLe texte lui-même, n’importe où dans la celluleUne position fixe : position de départ + nombre de caractères
À utiliser quandVous savez quoi remplacer, pas où c’estVous connaissez la position et la longueur exactes
PortéeChaque occurrence — ou une épinglée via no_positionUn bloc fixe par appel
Exemple=SUBSTITUE(A2, "-", " ")=REMPLACER(A2, 4, 2, "XX")

REMPLACER échange des caractères à des positions fixes — le bon outil quand la mise en page est rigide, du genre « écrase toujours les caractères 4–5 ». Dès que le texte cible peut se trouver n’importe où dans la cellule, SUBSTITUE prend le relais, car il chasse le texte au lieu de la position.

SUBSTITUE face à Rechercher-Remplacer

SUBSTITUERechercher et remplacer (Ctrl+H)
Vit dansUne formule — le résultat occupe sa propre cellule et la source reste intacteUne boîte de dialogue — elle modifie les cellules sur place, en écrasant les originaux
RecalculeOui — la source change et le remplacement suitNon — un seul tir ; les nouvelles données exigent une nouvelle passe
Se répète parTirer vers le bas transforme une formule en milliersTout le classeur en une seule passe
MajusculesToujours distinguéesNon distinguées par défaut, avec une case Respecter la casse

Le partage pratique : Rechercher et remplacer pour un nettoyage unique de ce qui est déjà dans la feuille, SUBSTITUE quand le nettoyage doit survivre aux nouvelles données — imports, actualisations, collages en masse. Beaucoup de feuilles finissent avec une colonne SUBSTITUE qui se nourrit d’une colonne d’import brute.

SUBSTITUE dans Google Sheets

Même nom, mêmes quatre arguments, même appariement littéral sensible aux majuscules — les formules ci-dessus se collent telles quelles. Sheets enveloppe la même idée dans un outil puissant : REGEXREPLACE accepte les expressions régulières, donc une seule formule normalise tout un fouillis de formats d’un coup.

  • Dans les paramètres avec virgule décimale, les arguments passent au point-virgule : =SUBSTITUE(A2; "-"; " ").
  • La boîte Rechercher et remplacer (Ctrl+H) de Sheets ajoute l’option Rechercher à l’aide d’expressions régulières, absente d’Excel.
  • Pour supprimer des caractères, "" comme texte_de_remplacement se comporte exactement comme dans Excel — sans trace.

Limites et conseils avancés

  • Un texte_cherché par appel : nettoyer plusieurs caractères différents veut dire imbriquer — chaque couche arrache une classe de caractères de plus.
  • L’ordre compte quand les motifs se chevauchent : remplacez « :: » avant « : », sinon le double deux-points a déjà disparu quand la règle du simple deux-points tourne.
  • Pas de jokers — texte_cherché est apparié littéralement, donc « * » et « ? » chassent de vraies astérisques et questions. La puissance des motifs vit dans Rechercher et remplacer ou, dans Sheets, dans REGEXREPLACE.
  • Les sauts de ligne sont CAR(10) : =SUBSTITUE(A2, CAR(10), " ") aplatit une cellule avec renvoi en une ligne — convertissez le résultat en vrais nombres ensuite si besoin.
  • Un pipeline de nettoyage réutilisable : SUBSTITUE le bruit, SUPPRESPACE le résidu, CNUM les nombres — trois colonnes qui survivent à chaque réimport.

Traitez SUBSTITUE comme le système immunitaire d’une feuille importée : les données brutes atterrissent sales, les colonnes de substitution les nettoient dès l’arrivée, et chaque formule en aval se nourrit de la version propre — plus personne ne retouche la colonne brute à la main.

Outils associés

Fonctions associées

Questions fréquentes

Que fait SUBSTITUE dans Excel ?

Il remplace un morceau de texte par un autre partout où il apparaît dans la cellule : =SUBSTITUE(A2, "-", " ") échange chaque tiret contre un espace. Avec l’argument facultatif no_position, il peut ne changer qu’une occurrence précise.

SUBSTITUE distingue-t-il les majuscules ?

Oui — texte_cherché doit correspondre aux majuscules exactement, et il n’existe pas d’interrupteur pour les ignorer. Pour un nettoyage unique sans distinction de casse, utilisez la boîte Rechercher et remplacer, qui propose une case Respecter la casse au lieu d’imposer la règle.

Comment remplacer seulement la deuxième occurrence ?

Passez 2 en quatrième argument : =SUBSTITUE(A2, "/", "-", 2). Les occurrences se comptent de gauche à droite ; les autres morceaux restent intacts. Tout nombre à partir de 1 fonctionne, et 0 ou un négatif renvoie #VALEUR!.

Comment supprimer tous les espaces d’une cellule ?

Remplacez-les par rien : =SUBSTITUE(A2, " ", ""). Le texte_de_remplacement vide efface chaque espace de la cellule. Si le résultat a une tête de nombre, emballez-le ensuite dans CNUM pour que le texte nettoyé recalcule.

Quelle différence entre SUBSTITUE et REMPLACER ?

SUBSTITUE chasse le texte où qu’il soit ; REMPLACER écrase une position et une longueur fixes (=REMPLACER(A2, 4, 2, "XX")). SUBSTITUE quand vous savez quoi changer, REMPLACER quand vous savez exactement où c’est.

Pourquoi SUBSTITUE renvoie-t-il #VALEUR! ?

Parce que le quatrième argument — no_position — vaut 0 ou est négatif. Il doit valoir 1 ou plus, ou être omis entièrement pour remplacer chaque occurrence. Dépasser le nombre réel d’occurrences n’est pas une erreur : le texte revient simplement inchangé.

SUBSTITUE fonctionne-t-il dans Google Sheets ?

Oui — même nom, mêmes arguments, même appariement littéral sensible aux majuscules. Sheets ajoute REGEXREPLACE pour les remplacements par motifs et une boîte Rechercher et remplacer compatible expressions régulières.

Prêt à l’essayer avec votre propre fichier ?

Ouvrir Rechercher et remplacer dans Excel — c’est gratuit