Tutoriels > Tutoriels & Astuces Excel > Fonctions & Formules > SUBSTITUE() - Remplacer une chaîne de texte par une autre

SUBSTITUE() - Remplacer une chaîne de texte par une autre

Publié par Mth le 08-11-2009 (209720 lectures)

La fonction SUBSTITUE() permet de remplacer un texte par un autre dans une chaîne de texte.


Cette fonction est différente de la fonction REMPLACER() qui remplace n'importe quel texte dont on indique simplement la position et la longueur, tandis que SUBSTITUE() remplace un texte spécifique à l'intérieur d'une chaîne de texte.


Selon le paramétrage du dernier argument, cette fonction est capable de remplacer soit une occurrence spécifique soit toutes les occurrences d'un texte, tandis que la fonction REMPLACER() ne remplace qu'une seule occurrence.



Syntaxe
 

SUBSTITUE(texte; ancien texte; nouveau texte; position)

  • texte  représente le texte ou la référence à une cellule cellule dont on veut remplacer certains caractères,
  • ancien texte est le texte à remplacer,
  • nouveau texte est le texte qui doit remplacer l'ancien,
  • position est un argument facultatif, il indique quelle occurrence de l'ancien texte on souhaite remplacer par  le nouveau texte. Si cet argument n'est pas indiqué, toutes les occurrences de l'ancien texte sont remplacées par le nouveau texte, sinon seule l'occurrence indiquée est remplacée.


Icone info  A noter

 

  • Les arguments de la fonction peuvent être des références à des cellules, des formules, ou du texte saisi. En cas de saisie, chiffres ou textes, les arguments doivent être notés entre guillemets.

  • La fonction SUBSTITUE() est sensible à la casse :
Fonction SUBSTITUE() 1

  • SUSTITUE() renvoie des résultats au format texte, (les suites de chiffres sont alignées à gauche); pour obtenir un format numérique vous pouvez encadrer la fonction SUBSTITUE() par la fonction CNUM() :
Fonction SUBSTITUE() 2


Exemples
Trait bleu

Point bleu  Dans le tableau ci-dessous nous souhaitons inscrire en colonne B les codes de la colonne A sans les caractères *

Fonction SUBSTITUE() 3


 

Cette formule remplace tous les caractères * par du vide (noté par deux guillemets l'un à coté de l'autre).


Point bleu    La fonction SUBSTITUE() permet de ne remplacer qu'une seule occurrence de texte en précisant sa position dans le dernier argument. Par exemple dans le tableau ci-dessous nous souhaitons conserver le premier caractère * et remplacer le second par un espace:

Fonction SUBSTITUE() 4

La formule ne remplace que la deuxième occurrence du caractère *.

 

Point bleu   SUBSTITUE() peut-être associée à d'autres fonctions pour effectuer des calculs ou manipuler des chaînes de caractères.


 Imaginons que la cellule A1 contienne le texte Bonjour, nous voulons calculer le nombre de o contenus en cellule A1:

 

=NBCAR(A1)-NBCAR(SUBSTITUE(A1;"o";""))

Cette formule renvoie 2.



Explications:  NBCAR(A1) compte le nombre de caractères contenus en cellule A1, =NBCAR(A1) renvoie ici 7

SUBSTITUE(A1;"o";"") remplace les caractères o minuscule de la cellule A1 par rien, notre Bonjour devient Bnjur



Cette fonction SUBSTITUE() est encadrée par la fonction NBCAR() afin de calculer la longueur de la chaîne sans les lettres o minuscule, NBCAR(SUBSTITUE(A1;"o";"")) revient à écrire NBCAR("Bnjur"), cette formule renvoie 5.



Il ne reste qu'à faire la différence entre le nombre total de caractères et le nombre de caractères sans la lettre o pour avoir le nombre de lettres o contenues en cellule A1.



Trait bleu

Pour aller plus loin et vous entraîner à manipuler la fonction SUBSTITUE() dans différents cas de figure, vous pouvez consulter le fichier d'exercices corrigés qui accompagne cet article

 

Extrait du fichier d'exercices :

Téléchargez le fichier d'exercices

Téléchargez le fichier d'exercices

Pour toutes vos questions ou si vous rencontrez des difficultés, n'hésitez pas à rejoindre nos Forums de Discussions !

Tags Tutoriel   Fonction   Formule   SUBSTITUE()   NBCAR()   REMPLACER()  

 

Autres articles dans cette catégorie Publié le Vues
Rechercher une Fonction 28-05-2013 10113
T() - Tester et renvoyer du texte 02-07-2012 30807
EPURAGE() - Supprimer certains caractères indésirables 02-06-2012 85793
REMPLACER() - Echanger une chaîne de caractères par une autre 02-06-2012 29940
CTXT() - Convertir un nombre en texte 23-05-2012 83576
REPT() - Répéter des caractères un certain nombre de fois 26-04-2012 40932
L'Assistant Somme Conditionnelle 01-11-2011 16597
CELLULE() - Nom de l'onglet, du fichier ou du répertoire dans une cellule 03-10-2010 157695
EXACT() - Comparer deux chaînes de texte 26-04-2010 165501
Purgez les espaces inutiles ! 05-04-2010 209663
SUPPRESPACE() - Supprimer les espaces inutiles dans une cellule 05-04-2010 108781
STXT() - Extraire une chaîne de caractères au sein d'une autre 13-03-2010 396125
CHERCHE() TROUVE() - Retourne la position d'une chaîne de caractères 04-01-2010 185718
NBCAR() - Compter les caractères d'une chaîne de texte ou d'une plage de cellules 21-11-2009 45715
SUBSTITUE() - Remplacer une chaîne de texte par une autre 08-11-2009 209721
CAR() - CODE() : Utilisation des codes caractères 25-10-2009 76733
CONCATENER() - Assembler plusieurs chaînes de texte en une seule. 10-10-2009 44082
TEXTE() - Convertir une valeur numérique en texte formaté 29-09-2009 139185
DROITE() - GAUCHE() : Extraire les premiers ou derniers caractères d'une chaîne. 12-09-2009 480000
MAJUSCULE() - MINUSCULE() - NOMPROPRE(): Modifier la casse d'un texte 23-08-2009 13520
CNUM() - Convertir une chaîne en valeur numérique 19-08-2009 102938
DATEDIF() : Calculer la différence entre deux dates 26-07-2009 360627
Nommer une Plage Dynamique 06-12-2008 100041
Nommer une Plage de Cellules 05-12-2008 104225
Références Relatives & Absolues 05-12-2008 24203
Formule pour Nombres Premiers 29-08-2007 26705