Monsieur Excel
Pour tout savoir faire sur Excel !

06 septembre 2012

La fonction Substitue()

La fonction substitue() fait partie de la grande famille des fonctions peu connues et donc pratiquement inutilisées d’Excel.

Sa syntaxe est : =substitue(texte;chaîne_1;chaîne_2[;position]) 

Nous utilisons la convention informatique selon laquelle les arguments entre crochets sont facultatifs.

L’objet de la fonction est donc, dans un texte donné, de remplacer une première chaîne de caractères par une autre. Si un quatrième argument est fourni, il indique quelle est la seule position de la chaîne – quand elle apparaît plusieurs fois – où le changement sera effectué.

Notons, une fois de plus, que la syntaxe proposée par Microsoft (cf. copie d’écran ci-dessus) est totalement foireuse. Microsoft met des virgules là où il faut des points-virgules. Et, pour couronner le tout, le dernier « ; » se trouve en dehors des crochets alors qu’il devrait être dedans : si vous laissez ce dernier «
; » avec rien derrière, vous engendrez une erreur de type #VALEUR !

Dans l’exemple ci-dessus, le texte original est en B1 et les formules utilisées en A4:A6 sont reproduites en B4:B6.

Quand la position demandée est supérieure au nombre d’occurrences de chaîne_1, comme c’est le cas en A6, aucune substitution n’a lieu.

Remarque 1 – On peut donc vérifier si, dans un texte, une chaîne apparaît moins de n fois. Si c’est le cas, le texte est le même avant et après substitution de la énième occurrence.

Remarque 2 – Nous avions déjà publié un article sur ce sujet le 20 avril 2008. Cette actualisation de l’article original tient au fait que nous allons bientôt voir une application tout à fait intéressante de la fonction substitue()


1 Commentaire(s):

  • La syntaxe dans l'aide d'Excel en anglais est constante et identique à ce que vous montrez dans votre post, (j'ai décidé une fois pour toute d'utiliser exclusivement la version anglaise d'Excel, et je le conseille à tous, les problèmes de menus en anglais sont facilement surmontable avec un peu d'habitude..), est la suivante : SUBSTITUTE(text, old_text, new_text, [instance_num]). Elle est constante dans l'aide. A savoir la Virgule doit être remplacé par le point virgule et les critères facultatifs ont toujours inscrite entre [] avec la virgule avant (qu'il faut donc omettre si on ne renseigne pas le critère). Autre exemple : Equiv en anglais : MATCH(lookup_value, lookup_array, [match_type].

    By Blogger Jack Spyker, sur 10:36 AM  

Enregistrer un commentaire

<< Accueil