REMPLACER (REPLACE en anglais) est la fonction Excel qui modifie une portion précise d'un texte en te laissant choisir exactement où elle commence et combien de caractères elle touche. Contrairement à SUBSTITUE qui cherche un mot, REMPLACER travaille avec des positions numériques.
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 de la fonction REMPLACER
=REMPLACER(ancien_texte; no_départ; no_car; nouveau_texte)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.
Astuce : Le mode insertion (no_car = 0) est très pratique pour ajouter un séparateur ou un préfixe dans un identifiant sans toucher aux caractères existants.
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.
Astuce : Combine REMPLACER avec NBCAR pour agir sur les derniers caractères quelle que soit la longueur du texte : =REMPLACER(A1; NBCAR(A1)-2; 3; "XXX") remplace toujours les 3 derniers caractères.
Pas envie d'écrire la formule REMPLACER à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Gestionnaire de données : anonymiser des numéros de téléphone
Tu es gestionnaire de données et tu dois partager une liste de contacts avec un prestataire externe, sans exposer les numéros complets. Tu veux masquer les 4 chiffres du milieu par des astérisques, tout en gardant l'indicatif et les 2 derniers chiffres lisibles.
| A | B | |
|---|---|---|
| 1 | Téléphone | Anonymisé |
| 2 | 06 12 34 56 78 | 06 12 ** ** 78 |
| 3 | 07 98 76 54 32 | 07 98 ** ** 32 |
| 4 | 06 45 67 89 01 | 06 45 ** ** 01 |
=REMPLACER(A2; 7; 5; "** **")La fonction part de la position 7 (le début du 3e groupe) et remplace 5 caractères (34 56) par ** **. Le début 06 12 et la fin 78 restent intacts. Copie la formule sur toute la colonne et ta liste est prête à être partagée en quelques secondes.
Commercial : mettre à jour l'année dans des codes produit
Tu es commercial et ton entreprise utilise des codes produit qui intègrent l'année à la même position : PROD-2024-ABC. Le nouvel exercice commence et il faut passer tous les codes 2024 en 2025 pour le nouveau catalogue.
| A | B | |
|---|---|---|
| 1 | Ancien code | Nouveau code |
| 2 | PROD-2024-ABC | PROD-2025-ABC |
| 3 | SERV-2024-XYZ | SERV-2025-XYZ |
| 4 | ITEM-2024-001 | ITEM-2025-001 |
=REMPLACER(A2; 6; 4; "2025")Comme tous les codes ont le même format, l'année se trouve toujours à la position 6 sur 4 caractères : la fonction fait la mise à jour instantanément sur toute la colonne. Elle est ici bien plus fiable que SUBSTITUE, car si un code contenait 2024 ailleurs dans son libellé, SUBSTITUE remplacerait les deux occurrences.
Astuce de pro : Si l'année peut se trouver à des positions variables, combine REMPLACER avec TROUVE pour localiser le tiret : =REMPLACER(A2; TROUVE("-"; A2)+1; 4; "2025") s'adapte quelle que soit la longueur du préfixe.
RH : formater des numéros de sécurité sociale
Tu travailles aux ressources humaines et tu reçois des numéros de sécurité sociale sans espaces (15 chiffres collés). Tu dois les formater selon la norme 1 23 45 67 890 123 45 pour les documents officiels.
| A | B | |
|---|---|---|
| 1 | Numéro brut | Numéro formaté |
| 2 | 123456789012345 | 1 23 45 67 890 123 45 |
| 3 | 298765432109876 | 2 98 76 54 321 098 76 |
=REMPLACER(REMPLACER(REMPLACER(REMPLACER(REMPLACER(REMPLACER(A2; 14; 0; " "); 12; 0; " "); 9; 0; " "); 7; 0; " "); 5; 0; " "); 2; 0; " ")En imbriquant six REMPLACER avec no_car = 0, tu insères des espaces aux bonnes positions sans supprimer aucun chiffre. La clé : commencer par la fin (position 14) pour que chaque insertion ne décale pas les positions précédentes. Le résultat est parfaitement lisible et compatible avec tous les outils RH.
Développeur : modifier des chaînes de connexion
Tu es développeur et tu dois préparer le déploiement en production. Toutes tes chaînes de connexion commencent par SERVER=DEV et il faut les passer en SERVER=PROD pour la mise en production.
| A | B | |
|---|---|---|
| 1 | Connexion DEV | Connexion PROD |
| 2 | SERVER=DEV;DB=sales | SERVER=PROD;DB=sales |
| 3 | SERVER=DEV;DB=users | SERVER=PROD;DB=users |
| 4 | SERVER=DEV;DB=logs | SERVER=PROD;DB=logs |
=REMPLACER(A2; 8; 3; "PROD")La fonction remplace DEV (3 caractères à partir de la position 8) par PROD (4 caractères). Même si la longueur change, Excel ajuste automatiquement la suite de la chaîne et le reste (;DB=sales) demeure intact. Applique la formule sur toute la colonne et toutes les chaînes sont prêtes pour la production.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes 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.
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 sur la fonction REMPLACER
Quelle est la différence entre REMPLACER et SUBSTITUE ?
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.
Comment insérer du texte sans rien supprimer ?
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.
Que se passe-t-il si no_départ dépasse la longueur du texte ?
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.
Peut-on utiliser REMPLACER sur des nombres ?
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.
Comment remplacer plusieurs parties d'un texte en une seule formule ?
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
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

