Aller au contenu principal

Qu'est-ce que la fonction REMPLACER ?

Définition
La fonction REMPLACER remplace un nombre défini de caractères dans un texte à partir d'une position précise, et les substitue par un nouveau texte. Elle opère par position, pas par contenu.

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

Clique sur un argument pour aller à son explication.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

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).

1

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.

2

no_départ

: la position du premier caractère à remplacer

La 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.

3

no_car

: le nombre de caractères à supprimer à partir de no_départ

Si 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.

4

nouveau_texte

: le texte qui remplace les caractères supprimés

Il 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.

Le savais-tu ?
REMPLACER sait insérer sans rien effacer : donne 0 à no_car et ton nouveau texte se glisse à la position voulue sans supprimer un seul caractère. Idéal pour ajouter un séparateur ou un préfixe dans un identifiant.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

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.

Les étapes
  1. 1
    Dans une cellule, écris =REMPLACER(.
  2. 2
    En 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.
  3. 3
    En 2ᵉ argument : saisis la position du premier caractère à masquer, 7. Les six caractères qui précèdent restent lisibles, c'est-à-dire 06 12 suivi de son espace.
  4. 4
    En 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.
  5. 5
    En 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.
  6. 6
    Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas pour anonymiser toute la colonne.
Au final, ta formule devrait ressembler à ça :=REMPLACER(D2;7;5;"** **")
Explication
Ici, la fonction ne lit pas le contenu du numéro, elle compte les caractères : elle laisse passer les six premiers (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.
Exemple 2

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.

Les étapes
  1. 1
    Dans une cellule, écris =REMPLACER(.
  2. 2
    En 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.
  3. 3
    En 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.
  4. 4
    En 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.
  5. 5
    En 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.
  6. 6
    Ferme 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.
Voici la formule que tu obtiens à la fin :=REMPLACER(A2;3;0;"-")
Explication
Avec un 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.
Exemple 3

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.

Les étapes
  1. 1
    Dans une cellule, écris =REMPLACER(.
  2. 2
    En 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.
  3. 3
    En 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 +1 fait 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.
  4. 4
    En 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.
  5. 5
    En 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.
  6. 6
    Ferme 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.
Une fois les morceaux assemblés, ta formule donne ça :=REMPLACER(A2;TROUVE("-";A2)+1;4;"2025")
Explication
La formule laisse la fonction TROUVE repérer le premier tiret de chaque code, puis démarre au caractère juste après pour écraser les quatre chiffres de l'année. Comme la position est recalculée ligne par ligne, un préfixe de deux lettres et un préfixe de sept lettres tombent tous les deux au bon endroit.

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).

Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

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.

Solution : Combine REMPLACER avec NBCAR, TROUVE ou CHERCHE pour calculer la position dynamiquement. Par exemple : =REMPLACER(A1; TROUVE("-"; A1)+1; 4; "2025") localise le tiret avant d'agir.

L’erreur fatale
Une position fixe appliquée à des textes de longueurs différentes pointe sur le mauvais caractère : la position 8 ne désigne pas la même chose dans « PROD-2024-X » que dans « SERVICE-2024-X ». Dès que les longueurs varient, calcule la position avec TROUVE ou NBCAR plutôt que de la figer.
Lucas, la mascotte du Dojo, compare deux fonctions Excel

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èreREMPLACERSUBSTITUESTXTGAUCHE/DROITE
MéthodePar position (no_départ + no_car)Par contenu (texte recherché)Extraction par positionExtraction 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 casseN/A (position)✅ Oui (par défaut)N/AN/A
Textes de longueur variable⚠️ Avec calcul de position✅ Oui⚠️ Avec calcul✅ Oui (extraction)
Cas d'usage idéalFormat fixe, position connueChercher et remplacer un motExtraire le milieu du texteExtraire le début ou la fin
FAQ

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.

Ressources

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