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
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.
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!.
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.
| A | B | |
|---|---|---|
| 1 | Code Produit | Catégorie |
| 2 | PRD-ELEC-001 | ELEC |
| 3 | PRD-MEUB-042 | MEUB |
| 4 | PRD-INFO-128 | INFO |
| 5 | PRD-JARD-055 | JARD |
| 6 | PRD-OUTIL-009 | OUTIL |
=STXT(A2; 5; 4)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.
| A | B | |
|---|---|---|
| 1 | Matricule | Département |
| 2 | 2024-75-00123 | 75 |
| 3 | 2024-69-00456 | 69 |
| 4 | 2024-13-00789 | 13 |
| 5 | 2024-44-00234 | 44 |
=STXT(A2; 6; 2)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.
| A | B | C | |
|---|---|---|---|
| 1 | N° Facture | Mois | Montant |
| 2 | FACT-2024-03-1045 | 03 | 2 500 € |
| 3 | FACT-2024-03-1046 | 03 | 1 800 € |
| 4 | FACT-2024-04-1047 | 04 | 3 200 € |
| 5 | FACT-2024-04-1048 | 04 | 950 € |
=STXT(A2; 11; 2)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.
| A | B | C | |
|---|---|---|---|
| 1 | Code UTM | Canal | Clics |
| 2 | UTM_EMAIL_PROMO_Q1 | 1 240 | |
| 3 | UTM_SOCMED_BRAND_Q1 | SOCMED | 3 580 |
| 4 | UTM_SEARCH_CONV_Q2 | SEARCH | 890 |
| 5 | UTM_EMAIL_NEWS_Q2 | 2 100 |
=STXT(A2; 5; CHERCHE("_"; A2; 5)-5)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ère | STXT | GAUCHE | DROITE |
|---|---|---|---|
| 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 typique | Codes structurés, extraction au milieu | Préfixes, initiales | Extensions, 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