top of page

STXT Excel : extraire une partie de texte + 5 exercices corrigés

  • il y a 11 heures
  • 9 min de lecture

La fonction STXT permet d'extraire une partie précise d'un texte en indiquant où commencer et combien de caractères récupérer.


Elle est particulièrement utile pour découper des codes, des références ou des numéros identifiants dans Excel.


Ce guide couvre la syntaxe, les combinaisons indispensables avec CHERCHE, TROUVE et NBCAR, les erreurs qui reviennent le plus souvent



Téléchargez le classeur d'exercices STXT

Le classeur reprend les 5 exercices de cet article, leur corrigé commenté formule par formule, et une validation automatique.

Il rejoint notre collection d'exercices Excel corrigés à télécharger.




Au sommaire :



À quoi sert la fonction STXT sur Excel ?

STXT, pour « sous-texte », renvoie une portion d'une chaîne de caractères. Vous lui donnez un texte, une position de départ et un nombre de caractères ; elle vous rend le morceau correspondant.

=STXT(texte;n°_départ;n°_car)

Les trois arguments de STXT

  • texte : la cellule à découper, ou un texte saisi entre guillemets. Obligatoire.

  • n°_départ : la position du premier caractère à extraire. Le premier caractère de la cellule porte le numéro 1, jamais 0. Obligatoire.

  • n°_car : le nombre de caractères à prendre à partir de cette position. Il s'agit d'une longueur, pas d'une position d'arrivée. Obligatoire.

Un exemple immédiat :

=STXT("Excel Formation";7;9)

La formule renvoie Formation :

  • elle démarre au 7e caractère, le F, (Excel compte pour 5 caractères, l'espace vide pour 1 caractère)

  • et prend les 9 caractères suivants soit Formation


Un point à retenir dès maintenant : STXT renvoie toujours du texte, même lorsqu'elle extrait des chiffres.


C'est l'origine de la moitié des problèmes que nous voyons en salle, et nous y revenons plus bas avec CNUM. Si vous découvrez ce sujet, notre panorama des fonctions de traitement de texte Excel replace STXT parmi ses voisines.



STXT Excel : un exemple pas à pas

Prenons un cas réel : un fichier RH contient des numéros de sécurité sociale et vous devez en extraire l'année de naissance. Dans un numéro à 15 chiffres, l'année occupe les caractères 2 et 3.


Étape 1 : repérer la position du premier caractère à extraire

Comptez les caractères depuis la gauche en commençant par 1.

Exemple : dans 185037511608346, le premier chiffre (1) correspond au sexe.


L'année commence donc au 2ᵉ caractère.


Étape 2 : compter le nombre de caractères à extraire

L'année correspond à 2 caractères (« 85 »).

Le troisième argument de STXT est donc 2.


⚠️ Attention : ce nombre indique la longueur à extraire, et non la position du dernier caractère. C'est l'erreur la plus fréquente avec cette fonction.


Étape 3 : écrire la formule et la recopier

=STXT(D8;2;2)

Résultat : 85. Recopiez la formule vers le bas, la référence D8 suit automatiquement. Si vous devez au contraire figer la cellule source, le signe dollar sur Excel fait le travail.


Exercice 1 : Santé : extraire l'année et le mois d'un numéro de sécurité sociale

Capture d’écran d’un tableau Excel avec Camille Rousseau, n° de sécu et année de naissance 85, formule =STXT(D8;2;2).

Objectif : retrouver la date de naissance de cinq patients à partir de leur numéro de sécurité sociale. La première ligne est déjà résolue pour vous servir de modèle, et la colonne Contrôle valide chaque réponse en direct.




STXT en anglais : la fonction MID

STXT s'appelle MID dans les versions anglaises d'Excel. La syntaxe est strictement identique : =MID(text;start_num;num_chars).

Bonne nouvelle : vous n'avez rien à traduire au quotidien. Excel stocke les formules dans un format neutre et les affiche dans la langue de l'interface. Un fichier écrit avec STXT s'ouvre avec MID chez un collègue anglophone, et inversement, sans aucune manipulation. La traduction ne devient nécessaire que dans deux cas : quand vous recopiez une formule trouvée sur un site anglophone, et quand vous écrivez du VBA — l'éditeur VBA n'accepte que les noms anglais.


Les équivalences utiles autour de STXT :

  • STXTMID : extraire au milieu d'un texte

  • GAUCHELEFT : extraire les premiers caractères

  • DROITERIGHT : extraire les derniers caractères

  • NBCARLEN : compter les caractères

  • CHERCHESEARCH : position d'un caractère, sans tenir compte de la casse

  • TROUVEFIND : position d'un caractère, en tenant compte de la casse

  • CNUMVALUE : convertir un texte en nombre

  • SIERREURIFERROR : remplacer une erreur par une valeur de secours

  • CONCATENERCONCATENATE : assembler plusieurs textes


Deuxième différence, souvent oubliée : le séparateur d'arguments. Le point-virgule en français, la virgule en anglais. Une formule copiée depuis un forum anglophone renverra une erreur tant que vous n'aurez pas remplacé ses virgules. Notre cours sur les fonctions TEXTE Excel donne la liste complète.



STXT, GAUCHE ou DROITE : quelle fonction choisir ?

Les trois fonctions découpent du texte, mais pas au même endroit.


Sur la référence TJ-2026-0451-CIV :

  • =GAUCHE(D18;2) prend les 2 premiers caractères et renvoie TJ.

  • =DROITE(D18;3) prend les 3 derniers et renvoie CIV.

  • =STXT(D18;4;4) démarre où vous voulez et renvoie 2026, que ni GAUCHE ni DROITE ne peuvent atteindre.


La règle que nous donnons en formation tient en une phrase : si l'information touche un bord de la cellule, GAUCHE ou DROITE suffisent et se lisent plus vite ; dès qu'elle est au milieu, ou dès que vous ignorez d'avance où elle commence, il faut STXT. Le détail de ces deux fonctions est dans notre article sur la fonction Gauche Droite Excel.


À noter : STXT peut remplacer GAUCHE — =STXT(D18;1;2) équivaut à =GAUCHE(D18;2) — mais l'inverse est impossible. C'est pour cela que nous la présentons comme la plus polyvalente des trois.



Exercice 2 : Droit : isoler l'année et le numéro d'une référence de dossier

Objectif : classer les dossiers d'un cabinet par année. Les références suivent le format TJ-2026-0451-CIV : l'année n'est ni au début ni à la fin, GAUCHE et DROITE sont hors-jeu. Vous constaterez au passage que le numéro 0451 conserve son zéro initial, précisément parce que STXT renvoie du texte.



Extraire un nombre variable de caractères avec CHERCHE, TROUVE et NBCAR

Jusqu'ici, les positions étaient fixes. Dans la vraie vie elles bougent : une adresse e-mail, un nom de fichier ou une référence produit n'ont jamais la même longueur. La solution consiste à calculer les arguments de STXT au lieu de les écrire en dur.


Extraire tout ce qui suit un caractère précis

Pour récupérer le nom de domaine d'une adresse e-mail, il faut deux informations : où se trouve l'arobase, et combien de caractères la suivent. CHERCHE fournit la première, NBCAR la seconde.

=STXT(D28;CHERCHE("@";D28)+1;NBCAR(D28)-CHERCHE("@";D28))

Décomposons. CHERCHE("@";D28) renvoie la position de l'arobase ; on ajoute 1 pour démarrer juste après elle. Pour la longueur, on retire cette position au nombre total de caractères donné par NBCAR : il reste exactement ce qui suit le @, quelle que soit la longueur de l'adresse.


Exercice 3 : Informatique : extraire le nom de domaine d'une adresse e-mail

Objectif : identifier l'organisation de chaque utilisateur à partir de son adresse. Les cinq adresses ont des longueurs différentes, de 16 à 37 caractères : la formule doit s'adapter seule.


Extraire le texte situé entre deux caractères

Même logique, avec une difficulté en plus : il faut deux repères. TROUVE imbriquée dans elle-même localise le second séparateur — la fonction intérieure trouve le premier tiret, la fonction extérieure repart juste après lui pour trouver le suivant.

=STXT(D38;TROUVE("-";D38)+1;TROUVE("-";D38;TROUVE("-";D38)+1)-TROUVE("-";D38)-1)

Le -1 final évite d'embarquer le second tiret dans le résultat. C'est l'oubli le plus courant : si votre extraction se termine par le séparateur, c'est qu'il manque.



Exercice 4 : Industrie : extraire le code produit situé entre deux tirets

Objectif : alimenter un suivi qualité avec le code produit de chaque lot. Sa longueur change à chaque ligne — B77, C10432, D9 — donc la position du second tiret doit impérativement être calculée.


CHERCHE ou TROUVE : laquelle utiliser ?

Les deux renvoient la position d'un caractère dans un texte. CHERCHE ignore la casse et accepte les caractères génériques ? et * ; TROUVE distingue majuscules et minuscules et n'accepte aucun joker. Prenez CHERCHE par défaut, TROUVE quand la casse porte une information — par exemple pour repérer un T majuscule dans un code où le t minuscule existe aussi. Et si vos données arrivent avec des espaces parasites, pensez à supprimer les espaces dans Excel avant de compter les positions : un espace invisible décale tout.



Corriger les erreurs les plus fréquentes de STXT

« Ma somme renvoie 0 » : convertir le résultat avec CNUM

STXT renvoie du texte. Un 1250 extrait par STXT ressemble à un nombre mais n'en est pas un : SOMME l'ignore purement et simplement, sans afficher la moindre erreur. C'est le piège le plus coûteux, parce qu'il est silencieux.

=CNUM(STXT(D48;11;4))

CNUM transforme le texte en vrai nombre. L'indice visuel est simple : dans une cellule au format Standard, un texte se cale à gauche, un nombre à droite. Si votre extraction reste à gauche, elle n'est pas encore exploitable. Notre astuce pour convertir un format Texte en format numérique sous Excel détaille les autres méthodes.


Exercice 5 : Industrie : extraire un poids et le convertir en nombre

Objectif : calculer le poids total d'un lot de palettes à partir de références du type PAL-00782-1250KG. Une des cinq références ne contient aucun poids : votre formule devra tenir le choc, ce qui vous amènera naturellement à SIERREUR.


L'erreur #VALEUR! : les deux seuls cas où elle apparaît

Contrairement à ce qu'on lit souvent, STXT ne renvoie pas #VALEUR! lorsque vous demandez plus de caractères que le texte n'en contient. Elle ne la renvoie que dans deux situations : un n°_départ inférieur à 1, ou un n°_car négatif.

  • =STXT("ABCDEF";0;2)#VALEUR! : la numérotation des caractères commence à 1, pas à 0.

  • =STXT("ABCDEF";2;-1)#VALEUR! : on ne peut pas extraire un nombre négatif de caractères.

  • =STXT("ABCDEF";3;100) → CDEF : aucune erreur, Excel s'arrête simplement à la fin du texte.

  • =STXT("ABCDEF";10;3) → une cellule vide, et toujours pas d'erreur.

Ce dernier cas est le plus vicieux. Une cellule vide au milieu d'une colonne remplie signifie presque toujours que votre position de départ dépasse la longueur du texte. Vérifiez-la avec NBCAR avant de chercher ailleurs.


STXT sur une date renvoie un résultat incompréhensible

Une date est stockée par Excel sous forme de nombre : le 15/03/2026 vaut 46096 en interne. =STXT(A1;1;2) renvoie donc 46, et non 15. Pour découper une date telle qu'elle s'affiche, convertissez-la d'abord en texte avec TEXTE :

=STXT(TEXTE(A1;"jj/mm/aaaa");1;2)

Cela dit, dans la quasi-totalité des cas, JOUR, MOIS et ANNEE font le travail plus proprement et sans conversion.

Recoller les morceaux avec CONCATENER

Une fois vos extractions faites, CONCATENER — ou l'opérateur & — les réassemble dans l'ordre voulu :

=CONCATENER(STXT(D18;4;4);"-";STXT(D18;9;4))

L'esperluette donne exactement le même résultat en plus court : =STXT(D18;4;4)&"-"&STXT(D18;9;4). Les versions récentes d'Excel proposent aussi CONCAT et JOINDRE.TEXTE, plus pratiques dès qu'il y a beaucoup de morceaux à assembler.


Neutraliser les lignes incomplètes avec SIERREUR

Sur un export réel, une ligne sur vingt est mal formée. SIERREUR remplace l'erreur par une valeur de secours au lieu de casser toute la colonne :

=SIERREUR(CNUM(STXT(D48;11;4));0)

La colonne reste calculable et la somme fonctionne. Notre article dédié à la fonction SIERREUR couvre ses autres usages.


Quand il ne faut pas utiliser STXT

STXT n'est pas toujours la bonne réponse, et c'est le conseil que nos formateurs répètent le plus. Trois alternatives à connaître :

  • Le remplissage instantané (Ctrl + E) : saisissez le résultat attendu sur la première ligne, Excel devine le motif et remplit le reste. Imbattable pour un traitement ponctuel — mais le résultat est figé, il ne se met pas à jour si la source change.

  • Données > Convertir : découpe une colonne selon un séparateur en trois clics, sans formule. Voir diviser une cellule sous Excel.

  • Power Query : pour un import qui revient chaque mois, le nettoyage se rejoue à chaque actualisation. C'est l'objet de notre formation Power Query.



FAQ : vos questions sur la fonction STXT

Quelle est la différence entre STXT et STXTB ?

STXT compte les caractères, STXTB compte les octets. L'écart n'apparaît que dans les langues à jeu de caractères double, comme le japonais, le chinois ou le coréen. En français, utilisez STXT sans hésiter : les lettres accentuées comptent pour un seul caractère.

Comment extraire les 3 premiers caractères d'une cellule ?

=STXT(A1;1;3) fonctionne, mais =GAUCHE(A1;3) se lit plus vite et exprime mieux l'intention. Réservez STXT aux extractions qui ne commencent pas au premier caractère.

Comment assembler deux extractions STXT avec CONCATENER ?

Écrivez =CONCATENER(STXT(A1;1;3);STXT(A1;5;4)), ou plus court =STXT(A1;1;3)&STXT(A1;5;4). Si vous voulez un séparateur entre les deux morceaux, insérez-le entre guillemets au milieu : &"-"&.

Pourquoi ma formule STXT renvoie-t-elle une cellule vide ?

Parce que le n°_départ dépasse la longueur du texte. Excel n'affiche alors aucune erreur, juste du vide. Contrôlez la longueur réelle avec NBCAR : si NBCAR(A1) renvoie 12 et que vous démarrez en position 15, il n'y a effectivement rien à extraire.

La fonction STXT existe-t-elle dans Google Sheets ?

Oui, sous le même nom dans l'interface française et avec la même syntaxe à trois arguments. Le point-virgule reste le séparateur, et CHERCHE, TROUVE et NBCAR s'y comportent de la même façon.

Faut-il maîtriser STXT pour progresser sur Excel ?

C'est une fonction de niveau intermédiaire, incontournable dès que vous traitez des données importées d'un logiciel métier. Pour situer votre niveau en 7 minutes, notre test Excel gratuit avec correction en ligne fait le point ; nos formations Excel, de la formation débutant à la formation Excel avancé, reprennent ces fonctions en situation.

 
 

📈 Évaluer votre niveau

Débutant, intermédiaire ou avancé : quel est votre niveau Excel ?

✅Découvrez notre test pour progresser efficacement !

Test d'évaluation de niveau professionnel

Gratuit et sans prise de contact inutile

🎓 Formez vous

​En présentiel dans votre entreprise ou à distance.

Formez vous à Excel et améliorez vos compétences

Présence nationale, avec des formateurs locaux.

Programme adapté à votre niveau et vos besoins

Notre Organisme de Formation :

Excel formation est une marque de Kronoscope organisme de formation certifié QUALIOPI, spécialiste en formation Excel, Excel VBA, Power Query et Power BI.

 

Nous accompagnons entreprises et particuliers avec des programmes adaptés à tous les niveaux, finançables via votre OPCO ou votre CPF.

Prêt à booster vos compétences ?

  • Formation en présentiel ou à distance (formateurs locaux, sans frais de déplacement)

  • Possibilité de travailler sur vos outils d'entreprise pendant la formation !

  • Un formateur juste pour vous qui avance à votre rythme et répond à toutes vos questions :)

  • Formation par session de 2h ou 3h à distance

Vous êtes débutant ? Intermédiaire ? avancé ? 

Testez votre connaissance sous Excel à travers un test Excel gratuit et avec correction !

🚀 Formez vous avec le CPF

Vous êtes débutant et vous avez besoin d'un accompagnement personnalisé ?

Vous êtes une entreprise et vous souhaitez évaluer vos équipes ?

Contactez nous et améliorez vos compétences Excel 

Présence nationale, avec des formateurs locaux. Devis gratuit en moins 7h

bottom of page