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 (102145 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 3964
T() - Tester et renvoyer du texte 02-07-2012 13584
EPURAGE() - Supprimer certains caractères indésirables 02-06-2012 32759
REMPLACER() - Echanger une chaîne de caractères par une autre 02-06-2012 13029
CTXT() - Convertir un nombre en texte 23-05-2012 45118
REPT() - Répéter des caractères un certain nombre de fois 26-04-2012 13272
L'Assistant Somme Conditionnelle 01-11-2011 9373
CELLULE() - Nom de l'onglet, du fichier ou du répertoire dans une cellule 03-10-2010 39511
EXACT() - Comparer deux chaînes de texte 26-04-2010 58636
Purgez les espaces inutiles ! 05-04-2010 86019
SUPPRESPACE() - Supprimer les espaces inutiles dans une cellule 05-04-2010 40632
STXT() - Extraire une chaîne de caractères au sein d'une autre 13-03-2010 105167
CHERCHE() TROUVE() - Retourne la position d'une chaîne de caractères 04-01-2010 89645
NBCAR() - Compter les caractères d'une chaîne de texte ou d'une plage de cellules 21-11-2009 21821
SUBSTITUE() - Remplacer une chaîne de texte par une autre 08-11-2009 102146
CAR() - CODE() : Utilisation des codes caractères 25-10-2009 23993
CONCATENER() - Assembler plusieurs chaînes de texte en une seule. 10-10-2009 23321
TEXTE() - Convertir une valeur numérique en texte formaté 29-09-2009 71894
DROITE() - GAUCHE() : Extraire les premiers ou derniers caractères d'une chaîne. 12-09-2009 125895
MAJUSCULE() - MINUSCULE() - NOMPROPRE(): Modifier la casse d'un texte 23-08-2009 7257
CNUM() - Convertir une chaîne en valeur numérique 19-08-2009 40759
DATEDIF() : Calculer la différence entre deux dates 26-07-2009 91443
Nommer une Plage Dynamique 06-12-2008 55079
Nommer une Plage de Cellules 05-12-2008 70978
Références Relatives & Absolues 05-12-2008 15093
Formule pour Nombres Premiers 29-08-2007 13301