Qu'est-ce que la fonction REMPLACER ?
REMPLACER (REPLACE en anglais) te sert dès que ton texte suit un format prévisible et que tu sais exactement où intervenir, plutôt que de retaper chaque cellule à la main. Une seule formule traite alors toute la colonne d'un coup, sans passer par une recherche de mot-clé.
C'est elle qui anonymise les numéros de téléphone en masquant les chiffres du milieu, qui met à jour l'année dans des codes produit standardisés, ou qui insère un séparateur à une position fixe dans un identifiant. Dès que tes textes ont un format prévisible et que tu sais à quelle position agir, REMPLACER fait le travail en une formule.
Syntaxe
=REMPLACER(ancien_texte; no_départ; no_car; nouveau_texte)Clique sur un argument pour aller à son explication.

Comprendre chaque paramètre de la fonction REMPLACER
Les quatre arguments décrivent une opération chirurgicale : tu donnes le texte de départ, puis tu pointes la position où poser le scalpel (no_départ), combien de caractères couper (no_car), et enfin ce que tu colles à la place. Tout repose sur des chiffres de position, jamais sur le contenu : c'est ce qui distingue REMPLACER de SUBSTITUE.
Aucun n'est facultatif, mais no_car cache une astuce : mets-le à 0 et tu n'effaces rien du tout, tu insères juste ton nouveau texte à la position voulue (parfait pour glisser un séparateur dans un code).
ancien_texte
: le texte de départ dans lequel tu veux faire le remplacementÇa peut être une référence de cellule comme A1, du texte entre guillemets comme "CODE-2024-001", ou le résultat d'une autre fonction qui renvoie du texte.
no_départ
: la position du premier caractère à remplacerLa numérotation commence à 1 (pas à 0 comme dans certains langages de programmation). Si ton texte est "BONJOUR" et que no_départ = 4, tu commences à partir du "J".
Attention : Excel renvoie #VALEUR! si no_départ est inférieur à 1. Si tu calcules la position dynamiquement, protège-toi avec MAX(1; ta_formule) pour garantir une valeur minimale de 1.
no_car
: le nombre de caractères à supprimer à partir de no_départSi no_car = 3, Excel efface 3 caractères puis insère le nouveau_texte à leur place. Si no_car = 0, aucun caractère n'est supprimé : le nouveau_texte est simplement inséré à la position spécifiée, sans rien effacer.
nouveau_texte
: le texte qui remplace les caractères supprimésIl peut être plus court, plus long ou de même longueur que no_car. Tu peux même utiliser une chaîne vide "" pour simplement supprimer des caractères sans les remplacer par autre chose.

Exemples pratiques pas à pas
Comment masquer une partie d'un numéro de téléphone avec la fonction REMPLACER
Un prestataire doit contacter tes clients la semaine prochaine et tu dois lui transmettre la liste avant vendredi, sans lui livrer les numéros complets. Ton tableau recense chaque contact avec son service et son téléphone, et tu veux une colonne où seuls l'indicatif et les deux derniers chiffres restent lisibles. La fonction REMPLACER remplace les chiffres du milieu par des astérisques sur toute la colonne, sans que tu retouches un seul numéro à la main.
- 1Dans une cellule, écris
=REMPLACER(. - 2En 1er argument : clique sur la cellule qui contient le numéro complet du premier contact,
D2. La formule pointe la cellule et non le numéro lui-même, donc la même écriture servira pour tous les contacts une fois recopiée vers le bas. - 3En 2ᵉ argument : saisis la position du premier caractère à masquer,
7. Les six caractères qui précèdent restent lisibles, c'est-à-dire06 12suivi de son espace. - 4En 3ᵉ argument : saisis le nombre de caractères à effacer à partir de cette position,
5. Le décompte porte sur les caractères et pas seulement sur les chiffres, donc ces cinq-là sont les quatre chiffres du milieu plus l'espace qui les sépare. - 5En 4ᵉ argument : écris entre guillemets le texte qui prend leur place,
"** **". Il fait lui aussi cinq caractères, ce qui conserve à la colonne l'allure d'un numéro de téléphone. - 6Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas pour anonymiser toute la colonne.
=REMPLACER(D2;7;5;"** **")06 12 et son espace), écrase les cinq suivants et rend la fin telle quelle. Les deux derniers chiffres restent visibles, de quoi identifier une ligne quand quelqu'un te rappelle à propos du fichier.Comment insérer un séparateur sans rien effacer avec la fonction REMPLACER
L'export de ton catalogue sort des références collées d'un bloc, alors que l'imprimeur attend un tiret après le code famille pour composer les étiquettes. Ton tableau liste chaque référence brute avec son article, et tu veux la version lisible sans réécrire huit caractères ligne par ligne. La fonction REMPLACER sait glisser un caractère à une position donnée sans en supprimer aucun autour.
- 1Dans une cellule, écris
=REMPLACER(. - 2En 1er argument : clique sur la cellule qui contient la référence brute,
A2. C'est elle qu'il faut réécrire avec son tiret, et elle reste intacte dans sa colonne pendant que la version lisible s'affiche ailleurs. - 3En 2ᵉ argument : saisis la position où le tiret doit venir se glisser,
3. Le code famille tient sur les deux premières lettres, donc le séparateur se pose juste avant le troisième caractère. - 4En 3ᵉ argument : saisis le nombre de caractères à effacer,
0. Avec zéro, rien n'est supprimé et la fonction se contente d'insérer, ce qui est toute l'astuce de cet exemple. - 5En 4ᵉ argument : écris entre guillemets le séparateur à insérer,
"-". Les guillemets signalent à Excel qu'il s'agit d'un texte à écrire tel quel, et ils n'apparaissent pas dans le résultat. - 6Ferme la parenthèse et appuie sur Entrée. La référence gagne un caractère de plus qu'à l'origine, puisque le tiret s'ajoute sans en remplacer aucun.
=REMPLACER(A2;3;0;"-")no_car à zéro, la fonction n'efface strictement rien : elle écarte le texte à la position demandée et glisse le tiret dans l'espace ainsi créé. C'est ce qui la distingue de la fonction SUBSTITUE, qui a besoin d'un texte existant à échanger pour faire quoi que ce soit.Comment mettre à jour l'année d'un code avec les fonctions REMPLACER et TROUVE
Le nouveau catalogue part à l'impression lundi et tous les codes doivent passer de 2024 à 2025. Sauf que tes préfixes n'ont pas tous la même longueur, donc l'année ne se trouve jamais à la même position d'une ligne à l'autre et une position figée couperait à côté. La fonction REMPLACER s'appuie ici sur la fonction TROUVE pour localiser le tiret de chaque code et se caler toute seule sur l'année.
- 1Dans une cellule, écris
=REMPLACER(. - 2En 1er argument : clique sur la cellule qui contient le code de l'ancien catalogue,
A2. Le calcul de position qui vient juste après ira relire ce même code, ligne après ligne. - 3En 2ᵉ argument : écris le calcul qui repère où commence l'année,
TROUVE("-";A2)+1. La fonction TROUVE renvoie la position du premier tiret du code, et le+1fait avancer d'un cran pour tomber sur le premier chiffre de l'année. Un chiffre figé ne conviendrait pas ici, puisque les préfixes n'ont pas tous la même longueur d'une ligne à l'autre. - 4En 3ᵉ argument : saisis le nombre de caractères à écraser,
4. L'année tient sur quatre chiffres partout, donc cette valeur reste la même alors que la position de départ, elle, change à chaque ligne. - 5En 4ᵉ argument : écris entre guillemets le millésime qui prend la place de l'ancien,
"2025". Le texte de remplacement n'est pas obligé de faire la même longueur que ce qu'il écrase, mais ici les deux font quatre caractères, donc les codes gardent exactement la forme qu'ils avaient. - 6Ferme la parenthèse et appuie sur Entrée. Celle de la fonction TROUVE a déjà été refermée plus haut, au moment où tu as écrit le calcul de position, il n'en reste donc qu'une seule à fermer.
=REMPLACER(A2;TROUVE("-";A2)+1;4;"2025")Attention : Si une ligne ne contient aucun tiret, TROUVE renvoie une erreur #VALEUR! qui se propage à REMPLACER. Enveloppe la formule dans SIERREUR pour renvoyer le code d'origine dans ce cas : =SIERREUR(REMPLACER(A2;TROUVE("-";A2)+1;4;"2025");A2).

Les erreurs fréquentes avec la fonction REMPLACER
Comme REMPLACER raisonne en positions, tout ce qui détraque tes chiffres se transforme en #VALEUR! : un no_départ tombé sous 1 ou un no_car devenu négatif, souvent quand tu calcules ces valeurs avec une autre formule qui dérape.
L'autre famille d'ennuis est plus sournoise : pas d'erreur affichée, mais le mauvais bout de texte modifié. Ça arrive dès que tu appliques une position fixe à des chaînes de longueurs différentes, là où SUBSTITUE ou un calcul de position avec TROUVE t'aurait sauvé.
no_départ à zéro ou négatif : erreur #VALEUR!
Excel renvoie #VALEUR! si no_départ est inférieur à 1. La numérotation des positions commence à 1 dans Excel, pas à 0 comme dans certains langages de programmation.
Solution : Vérifie que no_départ est au minimum égal à 1. Si tu calcules la position avec une formule, utilise MAX(1; ta_formule) pour garantir une valeur plancher.
no_car négatif : erreur #VALEUR!
Si no_car est négatif, Excel renvoie #VALEUR!. Le nombre de caractères à remplacer doit être zéro ou positif.
Solution : Assure-toi que no_car est supérieur ou égal à 0. Si tu le calcules dynamiquement (ex: NBCAR(A1) - quelque chose), protège-le avec MAX(0; ton_calcul).
Confusion entre REMPLACER et SUBSTITUE : mauvaise occurrence remplacée
REMPLACER agit à une position fixe, SUBSTITUE cherche un texte. Si tu utilises REMPLACER sur des textes de longueurs variables, la position peut ne pas correspondre au bon endroit.
Solution : Utilise REMPLACER quand la position est fixe ou calculable (codes standardisés, formats fixes). Utilise SUBSTITUE quand tu cherches un texte spécifique qui peut apparaître n'importe où, comme remplacer tous les @ par _.
Mauvais contenu remplacé avec des textes de longueurs variables
Une position fixe appliquée à des textes de longueurs différentes pointe sur le mauvais caractère. Par exemple, la position 8 dans PROD-2024-X ne désigne pas la même chose que dans SERVICE-2024-X.

REMPLACER vs SUBSTITUE vs STXT vs GAUCHE/DROITE
Choisis REMPLACER quand tu sais exactement à quelle position agir et que ton format est régulier (codes, identifiants, numéros calibrés) : c'est la seule du lot capable d'insérer sans rien effacer, grâce à no_car = 0. Dès que tu cherches un mot plutôt qu'une position, ou que tes textes ont des longueurs imprévisibles, SUBSTITUE devient plus sûr.
STXT et GAUCHE/DROITE jouent dans une autre cour : elles ne modifient rien, elles extraient. Si ton but est de récupérer un morceau de texte et non de le réécrire, ce sont elles qu'il te faut.
| Critère | REMPLACER | SUBSTITUE | STXT | GAUCHE/DROITE |
|---|---|---|---|---|
| Méthode | Par position (no_départ + no_car) | Par contenu (texte recherché) | Extraction par position | Extraction depuis le début ou la fin |
| Peut remplacer | ✅ Oui | ✅ Oui | ❌ Extrait seulement | ❌ Extrait seulement |
| Peut insérer (no_car = 0) | ✅ Oui | ❌ Non | ❌ Non | ❌ Non |
| Sensible à la casse | N/A (position) | ✅ Oui (par défaut) | N/A | N/A |
| Textes de longueur variable | ⚠️ Avec calcul de position | ✅ Oui | ⚠️ Avec calcul | ✅ Oui (extraction) |
| Cas d'usage idéal | Format fixe, position connue | Chercher et remplacer un mot | Extraire le milieu du texte | Extraire le début ou la fin |
Questions fréquentes
REMPLACER agit sur une position précise (caractères N à M), tandis que SUBSTITUE cherche et remplace un texte spécifique peu importe sa position. Utilise REMPLACER quand tu connais exactement où se trouve le texte à modifier (ex: les 4 premiers caractères), et SUBSTITUE quand tu cherches un mot ou une expression.
Utilise no_car = 0 dans ta formule. Par exemple, =REMPLACER(A1; 5; 0; "-") insère un tiret à la position 5 sans supprimer aucun caractère existant. C'est très pratique pour ajouter des séparateurs ou des préfixes dans des codes.
Excel ajoute automatiquement le nouveau_texte à la fin du texte d'origine. Par exemple, si ton texte fait 10 caractères et que no_départ = 15, le nouveau texte est simplement ajouté après les 10 caractères existants, sans erreur.
Oui, mais Excel convertit d'abord le nombre en texte. Attention aux formats : un nombre avec décimales peut avoir un rendu différent selon le format de la cellule. Il vaut mieux convertir explicitement avec TEXTE() pour contrôler le résultat avant d'appliquer REMPLACER.
Imbrique plusieurs REMPLACER l'une dans l'autre. Par exemple : =REMPLACER(REMPLACER(A1; 1; 2; "XX"); 5; 2; "YY") remplace d'abord les positions 1-2, puis les positions 5-6. Commence toujours par la position la plus à droite pour que les remplacements précédents ne décalent pas les positions suivantes.
Pour aller plus loin
Continue sur ta lancée après la fonction REMPLACER : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



