SUBSTITUE() - Remplacer une chaîne de texte par une autre
Catégorie : Fonctions & Formules
Publié par Mth le 08-11-2009
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)



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 !