Aller au contenu principal

Qu'est-ce que la fonction STXT ?

Définition
La fonction STXT extrait un nombre défini de caractères depuis n'importe quelle position dans un texte. Contrairement à GAUCHE ou DROITE, le point de départ est entièrement paramétrable.

STXT (MID en anglais) te sort de l'impasse dès que GAUCHE et DROITE ne suffisent plus : sitôt que l'info à récupérer se cache au milieu d'un texte, comme un code produit noyé dans une référence ou un numéro planqué dans un matricule, c'est elle que tu sors.

C'est elle qui te sauve quand tu nettoies des données importées : isoler un code produit au milieu d'une référence, sortir le mois d'un identifiant, récupérer un numéro de département dans un matricule. Fini les manipulations à la main, ligne par ligne.

Syntaxe

Clique sur un argument pour aller à son explication.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction STXT

1

texte

: 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 convertit automatiquement en texte avant l'extraction. C'est pratique pour découper un identifiant numérique, mais souviens-toi que le résultat sortira toujours sous forme de texte.

2

no_départ

: la position du premier caractère à extraire

Le premier caractère est à la position 1, pas 0 comme dans certains langages de programmation. Si tu indiques 5, l'extraction commence au cinquième caractère.

Cette position peut être calculée par une autre fonction, par exemple CHERCHE ou TROUVE, pour repérer dynamiquement un séparateur. Si no_départ est inférieur à 1, STXT renvoie l'erreur #VALEUR!.

3

nb_car

: le nombre de caractères à extraire depuis la position de départ

Si tu indiques 3, STXT extrait exactement 3 caractères. Si nb_car dépasse la longueur restante du texte, STXT renvoie simplement tous les caractères disponibles, sans erreur.

Si nb_car est négatif, tu obtiens l'erreur #VALEUR!. Pense à protéger les calculs qui peuvent devenir négatifs avec MAX(0; ...).

Le conseil du pro
STXT prend trois arguments : le texte, la position du premier caractère à extraire, puis le nombre de caractères à prendre. La position commence à 1, jamais à 0.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment faire une fonction STXT simple

On te réclame pour demain un tableau des ventes ventilées par catégorie, et ta seule colonne exploitable, ce sont des codes du type PR-ELEC-001 où les quatre lettres du milieu désignent la catégorie. Recopier ça à la main sur des centaines de lignes avant l'échéance est hors de question, il te faut la catégorie seule dans une colonne propre. La fonction STXT l'extrait d'un coup pour alimenter tes filtres et tes rapports.

Les étapes
  1. 1
    Dans une cellule, écris =STXT(.
  2. 2
    En 1er argument : clique sur la cellule qui contient le code produit, A2, où figure PR-ELEC-001. C'est le texte dans lequel la fonction va piocher.
  3. 3
    En 2ᵉ argument : saisis la position du premier caractère à extraire, 4. La catégorie démarre juste après le préfixe PR-, et la fonction compte toujours à partir de 1, jamais de 0.
  4. 4
    En 3ᵉ argument : saisis le nombre de caractères à prendre, 4, soit la longueur de la catégorie. L'extraction s'arrête là, même s'il reste du texte derrière.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Au final, ta formule devrait ressembler à ça :=STXT(A2; 4; 4)
Explication
La fonction STXT part du 4e caractère du code PR-ELEC-001 et en prend exactement quatre, ce qui isole la catégorie ELEC sans toucher au préfixe PR- ni au numéro. La technique tient tant que tes codes gardent une structure fixe et régulière.
Exemple 2

Comment extraire du texte entre deux caractères avec les fonctions STXT et TROUVE

Tu récupères un export de commandes juste avant de le charger dans ton outil de suivi, et la ville de livraison est noyée entre deux tirets dans des codes comme CMD-LYON-0087. Comme les noms de villes n'ont pas tous la même longueur, aucune position fixe ne tient la route et tu dois isoler la ville quelle que soit sa taille. Tu combines la fonction STXT avec TROUVE pour repérer les deux tirets et sortir la ville proprement, de LYON à BORDEAUX.

Les étapes
  1. 1
    Dans une cellule, écris =STXT(.
  2. 2
    En 1er argument : clique sur la cellule qui contient la référence complète, A2, où figure CMD-LYON-0087.
  3. 3
    En 2ᵉ argument : écris TROUVE("-"; A2)+1 au lieu d'un chiffre en dur. La fonction TROUVE repère le premier tiret et le +1 fait démarrer juste après lui, si bien que l'extraction commence pile sur la première lettre de la ville même si le préfixe change un jour.
  4. 4
    En 3ᵉ argument : écris TROUVE("-"; A2; TROUVE("-"; A2)+1)-TROUVE("-"; A2)-1, la distance entre les deux tirets. Le TROUVE le plus à gauche repère le second tiret, dont on retranche la position du premier puis 1, ce qui laisse exactement les lettres de la ville.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Voici la formule que tu obtiens à la fin :=STXT(A2; TROUVE("-"; A2)+1; TROUVE("-"; A2; TROUVE("-"; A2)+1)-TROUVE("-"; A2)-1)
Explication
La formule s'appuie sur TROUVE pour localiser le premier puis le second tiret, et la fonction STXT extrait tout ce qui se trouve entre les deux. La ville sort proprement, qu'elle fasse quatre lettres comme LYON ou huit comme BORDEAUX.
Exemple 3

Comment extraire une longueur variable avec les fonctions STXT et NBCAR

Ton fichier d'achats ne contient que des références du type REF-Chaise, et on te demande la liste des produits en clair pour la partager le jour même. Le préfixe REF- est toujours le même, mais le nom qui suit change de longueur à chaque ligne, donc tu ne peux pas couper à un endroit fixe sans tronquer les libellés les plus longs. Tu combines la fonction STXT avec NBCAR, qui mesure la longueur totale de chaque cellule, pour récupérer le nom entier quel qu'il soit.

Les étapes
  1. 1
    Dans une cellule, écris =STXT(.
  2. 2
    En 1er argument : clique sur la cellule qui contient la référence, A2, où figure REF-Chaise.
  3. 3
    En 2ᵉ argument : saisis la position de départ, 5. Le nom du produit commence toujours là, juste après le préfixe REF- qui compte quatre caractères.
  4. 4
    En 3ᵉ argument : écris NBCAR(A2)-4 plutôt qu'un chiffre fixe, puisque les noms varient. C'est la longueur totale de la cellule moins les quatre caractères du préfixe, donc l'extraction prend le nom jusqu'au bout quelle que soit sa longueur.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Une fois les morceaux assemblés, ta formule donne ça :=STXT(A2; 5; NBCAR(A2)-4)
Explication
La formule démarre juste après le préfixe REF-, puis s'appuie sur NBCAR pour connaître la longueur totale du texte et en retrancher les quatre caractères du préfixe. La fonction STXT extrait ainsi le nom entier, qu'il fasse six lettres comme Chaise ou dix comme TableRonde.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction STXT

Position de départ inférieure à 1

STXT renvoie #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 : Solution : vérifie ta formule de calcul de no_départ et garantis un minimum de 1 avec MAX : =STXT(A1; MAX(1; formule); 5). Excel utilisera alors au minimum la position 1.

Nombre de caractères négatif

Si nb_car est négatif, STXT renvoie #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 : Solution : protège le calcul avec MAX(0; ...) pour que nb_car ne descende jamais sous 0 : =STXT(A1; 5; MAX(0; calcul)). Si le calcul donne -2, Excel utilise 0 et renvoie une chaîne vide plutôt qu'une erreur.

Le résultat est du texte au lieu d'un nombre

Quand tu extrais des chiffres avec STXT (un code postal, un département, un mois), le résultat est du texte, pas un nombre. Si tu essaies de faire des calculs dessus, Excel peut renvoyer des résultats incohérents ou des erreurs.

Solution : Solution : convertis le résultat en nombre avec CNUM : =CNUM(STXT(A1; 5; 2)). Tu peux aussi multiplier par 1 : =STXT(A1; 5; 2)*1. Les deux méthodes forcent Excel à traiter le résultat comme un nombre.

Position de départ décalée d'un cran

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

Solution : Solution : compte manuellement sur un exemple simple. Pour "ABCDE", la position 1 = A, la position 2 = B, etc. Pour démarrer sur C, c'est la position 3. Une fois le bon chiffre trouvé, applique-le à toute ta colonne.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

STXT vs GAUCHE vs DROITE

GAUCHE et DROITE sont plus rapides à écrire mais figées aux extrémités du texte. STXT est la seule des trois à te laisser choisir librement le point de départ.

CritèreSTXTGAUCHEDROITE
Position de départFlexible (tu choisis)Toujours au débutToujours à la fin
Nombre de paramètres3 (texte, départ, nb)2 (texte, nb)2 (texte, nb)
FlexibilitéMaximaleLimitée au débutLimitée à la fin
Cas d'usage typiqueCodes structurés, extraction au milieuPréfixes, initialesExtensions, suffixes
Rapidité d'écriturePlus longueRapideRapide
Le combo gagnant
Combine STXT avec CHERCHE pour extraire une portion située entre deux repères, comme le texte compris entre deux tirets ou juste après un mot précis.
FAQ

Questions fréquentes

GAUCHE extrait depuis le début du texte, DROITE depuis la fin, alors que STXT extrait 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. En contrepartie, elle demande un paramètre de plus à renseigner.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction STXT : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir