TexteIntermédiaire

Fonction STXT ExcelExtraire des caractères au milieu d'un texte – Guide 2026

STXT (MID en anglais) est la fonction Excel la plus puissante pour extraire des caractères depuis n'importe quelle position dans un texte. Que tu nettoies des données importées, que tu extraies des codes produits ou que tu traites des identifiants, STXT te donne un contrôle total sur tes manipulations de texte.

Dans ce guide, tu vas découvrir comment utiliser STXT de manière professionnelle, avec des exemples concrets tirés de situations métier réelles. Fini les manipulations manuelles qui prennent des heures !

Syntaxe de la fonction STXT

=STXT(texte; no_départ; nb_car)

La fonction STXT extrait exactement le nombre de caractères que tu veux, depuis la position que tu choisis. C'est la fonction de manipulation de texte la plus flexible d'Excel, car contrairement à GAUCHE ou DROITE, tu contrôles totalement le point de départ.

Comprendre chaque paramètre de la fonction STXT

1

texte

(obligatoire)

C'est le texte source depuis lequel tu veux extraire des caractères. Ça peut être une chaîne directe comme "Bonjour", une référence de cellule comme A1, ou même le résultat d'une autre fonction. Si tu passes un nombre, Excel le convertira automatiquement en texte.

2

no_départ

(obligatoire)

La position du premier caractère à extraire. Important : le premier caractère est à la position 1, pas 0 comme dans certains langages de programmation. Si tu indiques 5, l'extraction commencera au cinquième caractère. Si no_départ est inférieur à 1, STXT retournera l'erreur #VALEUR!.

3

nb_car

(obligatoire)

Le nombre de caractères à extraire depuis la position de départ. Si tu indiques 3, STXT extraira exactement 3 caractères. Si nb_car dépasse la longueur restante du texte, STXT retourne simplement tous les caractères disponibles sans erreur. Si nb_car est négatif, tu obtiendras l'erreur #VALEUR!.

Astuce : Pour extraire tout le texte à partir d'une certaine position jusqu'à la fin, utilise un nombre très grand pour nb_car comme =STXT(A1; 5; 999). Excel s'arrêtera automatiquement à la fin du texte.

Exemples pratiques en contexte professionnel

Exemple 1 – Gestionnaire de stock : extraire la catégorie d'un code produit

Tu es gestionnaire de stock et tous tes produits ont un code comme "PRD-ELEC-001" ou "PRD-MEUB-042". Tu veux extraire automatiquement la catégorie (les 4 lettres au milieu) pour créer des filtres et des rapports par catégorie.

La formule commence à la position 5 (juste après 'PRD-') et extrait 4 caractères.

AB
1Code ProduitCatégorie
2PRD-ELEC-001ELEC
3PRD-MEUB-042MEUB
4PRD-INFO-128INFO
5PRD-JARD-055JARD
6PRD-OUTIL-009OUTIL
Formule :=STXT(A2; 5; 4)
Résultat :ELEC

Position 5 car "P-R-D--" fait 4 caractères, donc le cinquième est le début de la catégorie. Cette technique fonctionne parfaitement quand tes codes ont une structure fixe et prévisible.

Exemple 2 – Analyste RH : extraire le département depuis un matricule

Tu travailles aux ressources humaines et les matricules de tes employés sont structurés comme "2024-75-00123" où "75" représente le département. Tu dois extraire ce code pour analyser la répartition géographique de tes équipes.

Position 6 car on saute '2024-' (5 caractères), puis on prend 2 caractères pour le département.

AB
1MatriculeDépartement
22024-75-0012375
32024-69-0045669
42024-13-0078913
52024-44-0023444
Formule :=STXT(A2; 6; 2)
Résultat :75

Une fois le département extrait, tu peux créer des tableaux croisés dynamiques pour visualiser combien d'employés travaillent dans chaque région.

Exemple 3 – Comptable : isoler le mois dans une référence de facture

Tu es comptable et tes factures sont numérotées "FACT-2024-03-1045" où "03" représente le mois. Tu veux extraire ce mois pour analyser ton chiffre d'affaires mensuel et détecter les tendances saisonnières.

Position 11 : on saute 'FACT-2024-' (10 caractères) pour récupérer les 2 chiffres du mois.

ABC
1N° FactureMoisMontant
2FACT-2024-03-1045032 500 €
3FACT-2024-03-1046031 800 €
4FACT-2024-04-1047043 200 €
5FACT-2024-04-104804950 €
Formule :=STXT(A2; 11; 2)
Résultat :03

Tu peux ensuite utiliser SOMME.SI pour calculer le total par mois : =SOMME.SI(B:B; "03"; C:C) te donnera le CA de mars.

Exemple 4 – Responsable marketing : extraire le type de campagne depuis un code UTM

Tu travailles en marketing digital et tes codes de tracking sont formatés comme "UTM_EMAIL_PROMO_Q1" ou "UTM_SOCMED_BRAND_Q2". Tu veux extraire automatiquement le canal (EMAIL, SOCMED, etc.) pour analyser les performances de chaque source.

Formule avancée : position 5 pour sauter 'UTM_', puis CHERCHE trouve le prochain '_' pour calculer la longueur.

ABC
1Code UTMCanalClics
2UTM_EMAIL_PROMO_Q1EMAIL1 240
3UTM_SOCMED_BRAND_Q1SOCMED3 580
4UTM_SEARCH_CONV_Q2SEARCH890
5UTM_EMAIL_NEWS_Q2EMAIL2 100
Formule :=STXT(A2; 5; CHERCHE("_"; A2; 5)-5)
Résultat :EMAIL

Cette formule combine STXT et CHERCHE pour s'adapter automatiquement à des longueurs de canal variables (EMAIL = 5 lettres, SOCMED = 6 lettres). C'est une technique de niveau avancé très utile !

Astuces de pro pour maîtriser STXT

Combine STXT avec NBCAR pour extraire depuis la fin :

=STXT(A1; NBCAR(A1)-2; 3)

Extrait les 3 derniers caractères d'un texte, quelle que soit sa longueur.

Utilise STXT pour nettoyer les espaces au milieu :

=STXT(SUBSTITUE(A1;" ";""); 1; 999)

Supprime tous les espaces d'un texte en le reconstituant avec STXT.

Extrais un mot spécifique avec STXT + CHERCHE :

=STXT(A1; CHERCHE(" "; A1)+1; CHERCHE(" "; A1; CHERCHE(" "; A1)+1)-CHERCHE(" "; A1)-1)

Cette formule extrait le deuxième mot d'une phrase en trouvant les espaces automatiquement.

STXT fonctionne avec les dates :

Si tu as une date en format texte "2024-03-15", utilise =STXT(A1; 6; 2) pour extraire le mois "03". Mais attention, le résultat sera du texte, pas un nombre.

Les erreurs fréquentes et comment les corriger

Erreur #VALEUR! – Position de départ invalide

Tu obtiens #VALEUR! quand no_départ est inférieur à 1 ou négatif. Excel refuse d'extraire depuis une position qui n'existe pas. Ça arrive souvent quand tu calcules no_départ avec une formule qui retourne 0 ou un nombre négatif.

Solution : Vérifie ta formule de calcul de no_départ. Utilise MAX pour garantir un minimum de 1 : =STXT(A1; MAX(1; formule); 5). Ça force Excel à utiliser au minimum la position 1.

Erreur #VALEUR! – Nombre de caractères négatif

Si nb_car est négatif, STXT retourne #VALEUR!. Ça se produit quand tu calcules nb_car avec une formule qui peut donner un résultat négatif, par exemple en soustrayant deux positions trouvées avec CHERCHE.

Solution : Utilise MAX pour garantir que nb_car ne descend jamais en dessous de 0 : =STXT(A1; 5; MAX(0; calcul)). Si le calcul donne -2, Excel utilisera 0 (qui retourne une chaîne vide, pas une erreur).

STXT retourne du texte au lieu d'un nombre

Quand tu extrais des chiffres avec STXT (comme un code postal ou un département), le résultat est du texte, pas un nombre. Si tu essaies de faire des calculs avec, Excel peut te donner des résultats bizarres ou des erreurs.

Solution : Convertis le résultat en nombre avec la fonction CNUM : =CNUM(STXT(A1; 5; 2)). Ou multiplie par 1 : =STXT(A1; 5; 2)*1. Les deux méthodes fonctionnent.

Position de départ mal calculée

L'erreur la plus courante : oublier que le premier caractère est à la position 1, pas 0. Si tu penses "sauter les 4 premiers caractères", tu dois utiliser position 5, pas position 4. Ça décale tout d'un cran.

Solution : Compte manuellement avec un exemple simple. Pour "ABCDE", position 1 = "A", position 2 = "B", etc. Si tu veux extraire depuis "C", c'est position 3. Une fois que tu as le bon chiffre, applique-le à toute ta colonne.

STXT vs GAUCHE vs DROITE : quelle fonction choisir ?

CritèreSTXTGAUCHEDROITE
Position de départ✅ Flexible (tu choisis)⚠️ Toujours au début⚠️ Toujours à la fin
Complexité⭐⭐⭐ (3 paramètres)⭐⭐ (2 paramètres)⭐⭐ (2 paramètres)
Flexibilité✅ Maximale⚠️ Limitée au début⚠️ Limitée à la fin
Cas d'usage typiqueCodes structurés, extraction au milieuPréfixes, initialesExtensions, suffixes
Rapidité d'écriture⚠️ Plus longue✅ Rapide✅ Rapide

Utilise GAUCHE pour extraire le début d'un texte (prénom, code pays), DROITE pour la fin (extension de fichier, suffixe), et STXT quand tu as besoin de contrôle total sur la position. STXT peut faire ce que GAUCHE et DROITE font, mais avec plus de paramètres à gérer.

Questions fréquentes

Quelle est la différence entre STXT, GAUCHE et DROITE ?

GAUCHE extrait depuis le début du texte, DROITE depuis la fin, tandis que STXT te permet d'extraire depuis n'importe quelle position que tu choisis. STXT est la plus flexible des trois car tu contrôles exactement où commencer et combien de caractères prendre.

Comment extraire un mot au milieu d'une phrase ?

Combine STXT avec CHERCHE pour trouver automatiquement la position du mot. Par exemple : =STXT(A1; CHERCHE(" "; A1)+1; CHERCHE(" "; A1; CHERCHE(" "; A1)+1)-CHERCHE(" "; A1)-1) extrait le deuxième mot d'une phrase.

Que se passe-t-il si nb_car dépasse la longueur du texte ?

Aucun problème ! STXT retourne simplement tous les caractères disponibles à partir de la position de départ, sans générer d'erreur. Si tu demandes 10 caractères mais qu'il n'en reste que 5, tu obtiendras ces 5 caractères.

STXT fonctionne-t-elle avec des nombres ?

Oui, mais Excel convertit automatiquement le nombre en texte avant de l'extraire. Par exemple, =STXT(12345; 2; 3) retourne "234". Attention : le résultat sera du texte, pas un nombre exploitable pour des calculs.

Peut-on combiner STXT avec d'autres fonctions texte ?

Absolument ! C'est même très courant. Tu peux combiner STXT avec CHERCHE, TROUVE, NBCAR, SUBSTITUE ou SUPPRESPACE pour créer des formules puissantes d'extraction et de nettoyage de données. C'est la base du data cleaning en Excel.

Les fonctions similaires à STXT

Deviens un expert des fonctions Excel

Tu maîtrises maintenant STXT ! Rejoins Le Dojo Club pour découvrir toutes les autres fonctions de manipulation de texte et devenir redoutable sur Excel.

Essayer pendant 30 jours