Fonction SUBSTITUE ExcelGuide Complet 2026 avec Exemples
SUBSTITUE (SUBSTITUTE en anglais) est une fonction texte ultra-puissante qui remplace automatiquement toutes les occurrences d'un texte par un autre. Si tu dois nettoyer des données importées, corriger des formats ou standardiser des informations, cette fonction va te faire gagner des heures de travail manuel.
Dans ce guide, tu vas découvrir comment utiliser SUBSTITUE dans des cas concrets du monde professionnel, avec des exemples réels et des astuces pour gérer les situations complexes. Fini les remplacements manuels cellule par cellule !
Syntaxe de la fonction SUBSTITUE
=SUBSTITUE(texte; ancien_texte; nouveau_texte; [no_occurrence])La fonction SUBSTITUE parcourt tout le texte fourni, cherche toutes les occurrences de l'ancien texte et les remplace par le nouveau texte. Le dernier paramètre est optionnel et te permet de ne remplacer qu'une occurrence spécifique.
Comprendre chaque paramètre de la fonction SUBSTITUE
texte
(obligatoire)C'est le texte dans lequel tu veux effectuer le remplacement. Ça peut être une référence à une cellule comme A1, une formule qui renvoie du texte comme CONCATENER(A1;B1), ou même un texte direct entre guillemets comme "Bonjour Paris".
ancien_texte
(obligatoire)Le texte que tu veux remplacer. Attention : SUBSTITUE est sensible à la casse, donc "Paris" ne trouvera pas "paris" ou "PARIS". Si ton ancien_texte n'existe pas dans le texte source, SUBSTITUE renverra simplement le texte original sans modification.
nouveau_texte
(obligatoire)Le texte qui va remplacer l'ancien. Si tu veux supprimer du texte au lieu de le remplacer, utilise simplement une chaîne vide "". C'est très pratique pour nettoyer des caractères indésirables comme les espaces, tirets ou symboles spéciaux.
no_occurrence
(optionnel)Spécifie quelle occurrence remplacer. Par exemple, 1 remplace seulement la première occurrence, 2 seulement la deuxième, etc. Si tu omets ce paramètre, SUBSTITUE remplace toutes les occurrences trouvées. Parfait quand tu veux modifier seulement une partie spécifique d'un texte répétitif.
Astuce : Tu peux imbriquer plusieurs SUBSTITUE pour faire plusieurs remplacements d'un coup : =SUBSTITUE(SUBSTITUE(A1;".";"");",";".") remplace d'abord tous les points puis toutes les virgules.
Exemples pratiques pas à pas
Exemple 1 – Gestionnaire de données : nettoyer des numéros de téléphone importés
Tu es gestionnaire de données et tu viens d'importer 500 contacts depuis un ancien système. Tous les numéros de téléphone contiennent des espaces, points et tirets qu'il faut supprimer pour pouvoir les réutiliser dans ton CRM.
Triple SUBSTITUE imbriqué : supprime d'abord les espaces, puis les points, puis les tirets.
| A | B | |
|---|---|---|
| 1 | Téléphone brut | Téléphone nettoyé |
| 2 | 01 23 45 67 89 | 0123456789 |
| 3 | 02.34.56.78.90 | 0234567890 |
| 4 | 03-45-67-89-01 | 0345678901 |
=SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;" ";"");".";"");"-";"")En imbriquant trois SUBSTITUE, tu nettoies tous les formats en une seule formule. Le résultat : des numéros propres et homogènes, prêts à être importés dans n'importe quel système.
Exemple 2 – Commercial : corriger des noms de produits mal orthographiés
Tu es commercial(e) et tu as reçu une liste de commandes où le nom d'un produit a été mal saisi à plusieurs reprises. Au lieu de "Licence Pro", certains ont écrit "Licance Pro". Tu dois tout corriger rapidement.
SUBSTITUE trouve et corrige automatiquement toutes les fautes d'orthographe dans le texte.
| A | B | |
|---|---|---|
| 1 | Produit commandé | Produit corrigé |
| 2 | Licance Pro | Licence Pro |
| 3 | Licance Pro - Pack 10 | Licence Pro - Pack 10 |
| 4 | Formation + Licance Pro | Formation + Licence Pro |
=SUBSTITUE(A1;"Licance";"Licence")Peu importe où se trouve "Licance" dans le texte, SUBSTITUE le remplace par "Licence". En une formule, tu corriges toute ta liste sans risque d'oubli.
Exemple 3 – RH : standardiser les noms de départements
Tu travailles aux ressources humaines et tu dois standardiser les noms de départements dans ton fichier employés. Certains collègues ont écrit "RH", d'autres "Ressources Humaines", d'autres "R.H.". Tu veux tout uniformiser.
Deux SUBSTITUE imbriqués pour gérer les différentes variantes du nom.
| A | B | |
|---|---|---|
| 1 | Département original | Département standardisé |
| 2 | R.H. | Ressources Humaines |
| 3 | RH | Ressources Humaines |
| 4 | Service RH | Service Ressources Humaines |
=SUBSTITUE(SUBSTITUE(A1;"R.H.";"Ressources Humaines");"RH";"Ressources Humaines")Attention à l'ordre : on traite d'abord "R.H." puis "RH", sinon le premier SUBSTITUE créerait "Ressources Humaines.Humaines.". L'ordre des imbrications est crucial.
Piège classique : Quand tu imbriques plusieurs SUBSTITUE, réfléchis à l'ordre. Remplace toujours les textes les plus spécifiques en premier pour éviter les remplacements en cascade.
Exemple 4 – Développeur : remplacer seulement la deuxième occurrence
Tu es développeur et tu analyses des logs d'erreur. Chaque ligne contient plusieurs fois le mot "ERROR", mais tu veux remplacer seulement le deuxième par "WARNING" pour un traitement spécifique.
Le paramètre 2 indique de remplacer seulement la 2ème occurrence du mot ERROR.
| A | B | |
|---|---|---|
| 1 | Log original | Log modifié |
| 2 | ERROR: Init | ERROR: Config | ERROR: Runtime | ERROR: Init | WARNING: Config | ERROR: Runtime |
=SUBSTITUE(A1;"ERROR";"WARNING";2)Le quatrième paramètre de SUBSTITUE te donne un contrôle chirurgical sur tes remplacements. C'est parfait pour des modifications ciblées dans des textes structurés.
Astuce pro : Combine SUBSTITUE avec NB.SI.ENS ou CHERCHE pour créer des remplacements conditionnels avancés basés sur le contexte du texte.
Les erreurs fréquentes et comment les corriger
Rien ne se passe : la casse ne correspond pas
SUBSTITUE est sensible à la casse. Si tu cherches "paris" mais que le texte contient "Paris", aucun remplacement ne sera effectué. Le résultat sera identique au texte original.
Solution : Utilise MINUSCULE() ou MAJUSCULE() autour de ton texte source et de ton texte à chercher : =SUBSTITUE(MINUSCULE(A1);"paris";"lyon"). Attention, le résultat sera tout en minuscules.
Erreur #VALEUR! avec no_occurrence
Si tu spécifies un no_occurrence plus grand que le nombre réel d'occurrences (par exemple, tu demandes la 5ème occurrence mais il n'y en a que 3), SUBSTITUE ne génère pas d'erreur : elle renvoie simplement le texte original sans modification.
Solution : Compte d'abord les occurrences avec une formule comme =(NBCAR(A1)-NBCAR(SUBSTITUE(A1;"texte";""))) / NBCAR("texte") pour vérifier combien il y en a.
Remplacements en cascade non désirés
Quand tu imbriques plusieurs SUBSTITUE, l'ordre compte énormément. Si tu remplaces d'abord "A" par "AB" puis "AB" par "ABC", tous les "A" deviendront "ABC", pas seulement les "AB" originaux.
Solution : Planifie l'ordre de tes SUBSTITUE. Remplace toujours les chaînes les plus longues ou les plus spécifiques en premier pour éviter les conflits.
Performance lente sur de gros volumes
Si tu appliques SUBSTITUE avec plusieurs imbrications sur des milliers de lignes, Excel peut ralentir considérablement, surtout si les formules sont volatiles ou liées à d'autres calculs complexes.
Solution : Une fois le nettoyage terminé, copie les résultats et colle-les en tant que valeurs (Ctrl+Alt+V puis V) pour supprimer les formules et améliorer les performances.
SUBSTITUE vs REMPLACER vs STXT vs EPURAGE
| Critère | SUBSTITUE | REMPLACER | STXT | EPURAGE |
|---|---|---|---|---|
| Cherche du texte | ✅ Oui, partout | ❌ Position fixe | ❌ Extraction seulement | ❌ Non |
| Sensible à la casse | ✅ Oui | ➖ N/A | ➖ N/A | ➖ N/A |
| Remplace toutes occurrences | ✅ Oui (ou juste une) | ❌ Une seule zone | ❌ Pas de remplacement | ✅ Tous les caractères spéciaux |
| Besoin de position | ❌ Non | ✅ Oui, obligatoire | ✅ Oui, obligatoire | ❌ Non |
| Cas d'usage principal | Nettoyage, corrections | Format fixe | Extraction de sous-chaîne | Supprimer caractères non-imprimables |
Utilise SUBSTITUE quand tu cherches un texte précis à remplacer, peu importe où il se trouve. Utilise REMPLACER quand tu connais la position exacte. STXT est pour extraire du texte, et EPURAGE nettoie les caractères bizarres.
Astuce de pro : Combine SUBSTITUE avec EPURAGE pour nettoyer d'abord les caractères non-imprimables, puis remplacer des textes spécifiques. C'est parfait pour les imports de données depuis des systèmes externes.
Questions fréquentes
Quelle est la différence entre SUBSTITUE et REMPLACER ?
SUBSTITUE cherche un texte précis dans toute la chaîne et le remplace, peu importe où il se trouve. REMPLACER remplace des caractères à une position fixe que tu définis. Si tu veux remplacer 'Paris' par 'Lyon', utilise SUBSTITUE. Si tu veux remplacer les caractères 3 à 7, utilise REMPLACER.
SUBSTITUE est-elle sensible à la casse ?
Oui, absolument. SUBSTITUE distingue majuscules et minuscules. Si tu cherches 'ABC', ça ne remplacera pas 'abc' ou 'Abc'. Pour ignorer la casse, combine avec MAJUSCULE() ou MINUSCULE() pour normaliser le texte avant.
Comment remplacer plusieurs caractères différents en une fois ?
Imbrique plusieurs SUBSTITUE : =SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;"-";"");" ";"");"_";"") pour supprimer tirets, espaces et underscores. Tu peux aussi créer une formule dynamique avec des boucles via VBA si tu as beaucoup de remplacements.
Que fait le paramètre no_occurrence exactement ?
Il te permet de remplacer seulement la 1ère, 2ème ou Nième occurrence d'un texte. Si no_occurrence est 2, seul le deuxième 'a' sera remplacé. Si tu l'omets, toutes les occurrences sont remplacées. Pratique pour modifier seulement une partie répétée.
SUBSTITUE peut-elle supprimer du texte au lieu de le remplacer ?
Oui ! Utilise une chaîne vide ("") comme nouveau_texte. Par exemple, =SUBSTITUE(A1;" ";"") supprime tous les espaces. C'est la technique la plus rapide pour nettoyer des caractères indésirables comme les espaces, tirets ou symboles.
Les fonctions similaires à SUBSTITUE
Deviens un pro d'Excel
Tu maîtrises maintenant SUBSTITUE ! Rejoins Le Dojo Club pour découvrir toutes les fonctions texte avancées et automatiser le nettoyage de tes données comme un expert.
Essayer pendant 30 jours