Formules Excel

Extraire le Milieu d'une Chaîne de Texte avec la Fonction EXCEL MID

15 janvier 2026 1 vues

La fonction EXCEL MID, ou STXT en français, est un outil puissant pour manipuler du texte. Besoin d'extraire un code produit, un identifiant, ou une partie d'une adresse ? MID vous permet de cibler précisément les caractères que vous souhaitez isoler, en spécifiant leur position de départ et le nombre de caractères à extraire. Cet article vous guide pas à pas à travers les subtilités de cette fonction, avec des exemples concrets pour une application immédiate dans vos feuilles de calcul.

Comprendre la Fonction EXCEL MID (STXT)

La fonction EXCEL MID (ou STXT, son équivalent français) est conçue pour extraire une portion spécifique d'une chaîne de texte. Elle est particulièrement utile lorsque vous avez besoin d'isoler des caractères en fonction de leur position dans la chaîne.

Syntaxe de la fonction MID :

=MID(texte, start_num, num_chars)

  • texte : La chaîne de texte contenant les caractères que vous souhaitez extraire. Cela peut être une chaîne de texte directement entrée dans la formule (entre guillemets) ou une référence à une cellule contenant le texte.
  • start_num : La position du premier caractère que vous souhaitez extraire. Le premier caractère de la chaîne est en position 1.
  • num_chars : Le nombre de caractères à extraire, à partir de start_num.

Syntaxe de la fonction STXT (version française) :

=STXT(texte; no_départ; nb_caractères)

  • texte : Identique à la version anglaise.
  • no_départ : Identique à start_num.
  • nb_caractères : Identique à num_chars.

Exemples Simples d'Utilisation de MID/STXT

Exemple 1: Extraire "World" de "Hello World!"

  1. Dans une cellule, par exemple A1, entrez le texte : "Hello World!"
  2. Dans une autre cellule, entrez la formule : =MID(A1, 7, 5) ou =STXT(A1; 7; 5)
  3. Le résultat affiché sera "World".

Explication: On commence à extraire à partir du 7ème caractère (le "W" de "World") et on extrait 5 caractères.

Exemple 2: Extraire les 3 premiers chiffres d'un code produit

  1. Dans la cellule A1, entrez le code produit : "12345-ABC"
  2. Dans une autre cellule, entrez la formule : =MID(A1, 1, 3) ou =STXT(A1; 1; 3)
  3. Le résultat affiché sera "123".

Explication: On commence à extraire à partir du 1er caractère et on extrait 3 caractères.

Applications Pratiques de la Fonction MID/STXT

La fonction MID/STXT est extrêmement polyvalente et peut être utilisée dans de nombreux scénarios réels.

Extraction de Données Structurées

Imaginez que vous ayez une colonne contenant des adresses complètes au format : "Nom, Rue, Code Postal Ville, Pays". Vous pouvez utiliser MID/STXT en combinaison avec d'autres fonctions comme FIND (CHERCHE) et LEN (NBCAR) pour extraire chaque élément de l'adresse dans des colonnes séparées.

Exemple: Extraire le Code Postal d'une Adresse

Supposons que l'adresse complète soit dans la cellule A1 et qu'elle soit au format "Nom, Rue, Code Postal Ville, Pays".

  1. Trouver la position du premier chiffre du code postal : =FIND(", ",A1)+2 (Cette formule trouve la position de la virgule et de l'espace après la rue, puis ajoute 2 pour obtenir la position du premier chiffre du code postal).
  2. Trouver la position de l'espace après le code postal : =FIND(" ",A1,FIND(", ",A1)+2) (Cette formule trouve la position du premier espace après le code postal. Le troisième argument de la fonction FIND/CHERCHE indique la position de départ de la recherche).
  3. Extraire le code postal : =MID(A1,FIND(", ",A1)+2,FIND(" ",A1,FIND(", ",A1)+2)-FIND(", ",A1)-2) ou =STXT(A1;CHERCHE(", ";A1)+2;CHERCHE(" ";A1;CHERCHE(", ";A1)+2)-CHERCHE(", ";A1)-2)

Explication: Cette formule complexe utilise FIND/CHERCHE pour déterminer le point de départ et le nombre de caractères à extraire pour obtenir le code postal.

Manipulation de Chaînes de Caractères

MID/STXT peut être combinée avec d'autres fonctions de texte pour manipuler et transformer des chaînes de caractères.

Exemple: Inverser une Chaîne de Caractères (simplifié pour la démonstration)

Bien qu'Excel ne dispose pas d'une fonction native pour inverser une chaîne de caractères, vous pouvez utiliser MID/STXT en conjonction avec des formules matricielles (plus avancées) ou VBA (Visual Basic for Applications) pour réaliser cette opération. Une méthode simplifiée (mais limitée) pourrait consister à extraire chaque caractère individuellement et à les concaténer manuellement dans l'ordre inverse, si vous connaissez la longueur de la chaîne à l'avance.

Nettoyage de Données

La fonction MID/STXT est très utile pour nettoyer des données importées qui peuvent contenir des caractères indésirables ou des formats incohérents.

Exemple: Supprimer les Caractères Superflus au Début d'une Chaîne

Si vous avez des données avec des espaces ou des caractères indésirables au début de chaque chaîne, vous pouvez utiliser MID/STXT pour les supprimer.

  1. Déterminer la position du premier caractère significatif : Vous pouvez utiliser les fonctions TRIM (SUPPRESPACE) pour supprimer les espaces superflus au début et à la fin d'une chaîne, ou FIND/CHERCHE pour trouver le premier caractère non vide.
  2. Extraire la chaîne à partir de ce point : Utilisez MID/STXT pour extraire la chaîne à partir de la position déterminée à l'étape précédente.

Par exemple, si la cellule A1 contient " Hello", la formule =MID(A1,FIND("H",A1),LEN(A1)) ou =STXT(A1;CHERCHE("H";A1);NBCAR(A1)) extraira "Hello".

Combiner MID/STXT avec d'Autres Fonctions Excel

La puissance de MID/STXT réside dans sa capacité à être combinée avec d'autres fonctions Excel pour réaliser des opérations complexes.

MID/STXT et FIND/CHERCHE

Comme illustré précédemment, FIND/CHERCHE est souvent utilisée pour déterminer la position de départ de l'extraction avec MID/STXT. Cela permet d'extraire des données en fonction de motifs spécifiques plutôt que de positions fixes.

MID/STXT et LEN/NBCAR

LEN/NBCAR renvoie la longueur d'une chaîne de texte. Elle peut être utilisée pour déterminer le nombre de caractères à extraire avec MID/STXT, ou pour valider la longueur d'une chaîne après extraction.

MID/STXT et IF/SI

IF/SI permet de créer des conditions logiques. Vous pouvez utiliser IF/SI pour appliquer MID/STXT uniquement si certaines conditions sont remplies.

Exemple: Extraire un code si la chaîne contient un certain mot-clé

=IF(ISNUMBER(SEARCH("Important",A1)),MID(A1,1,5),"") ou =SI(ESTNUM(CHERCHE("Important";A1));STXT(A1;1;5);"")

Cette formule extrait les 5 premiers caractères de la cellule A1 uniquement si elle contient le mot "Important". Sinon, elle renvoie une chaîne vide.

Erreurs Courantes et Comment les Éviter

  • Erreur #VALUE! : Cette erreur se produit généralement si start_num est supérieur à la longueur de la chaîne de texte.
  • Erreur #NAME? : Cette erreur indique généralement une faute de frappe dans le nom de la fonction (par exemple, "MDI" au lieu de "MID").
  • Extrait incorrect : Vérifiez que start_num et num_chars sont corrects et correspondent à la portion de texte que vous souhaitez extraire. N'oubliez pas que le premier caractère est en position 1, et non 0.
  • Ne pas tenir compte des espaces : Les espaces sont considérés comme des caractères. Assurez-vous de les prendre en compte lors du calcul de start_num et num_chars.

Conseils et Astuces pour Maîtriser MID/STXT

  • Utilisez des cellules intermédiaires pour les calculs complexes : Si vos formules deviennent trop longues et complexes, décomposez-les en étapes plus petites et stockez les résultats intermédiaires dans des cellules séparées. Cela rendra votre formule plus facile à comprendre et à déboguer.
  • Commentez vos formules : Utilisez des commentaires (en ajoutant un apostrophe (') au début de la ligne) pour expliquer la logique de vos formules. Cela sera particulièrement utile si vous devez revenir sur votre feuille de calcul plus tard ou si d'autres personnes doivent la comprendre.
  • Testez vos formules avec des exemples : Avant d'appliquer une formule MID/STXT à un grand ensemble de données, testez-la avec quelques exemples pour vous assurer qu'elle fonctionne correctement.
  • Utilisez la fonction IFERROR/SIERREUR : Pour gérer les erreurs potentielles, utilisez la fonction IFERROR/SIERREUR pour renvoyer une valeur par défaut (par exemple, une chaîne vide) si la formule MID/STXT renvoie une erreur.

Alternatives à la Fonction MID/STXT

Bien que MID/STXT soit une fonction puissante, il existe d'autres fonctions Excel qui peuvent être utilisées pour manipuler du texte.

  • LEFT/GAUCHE : Extrait les caractères à partir du début d'une chaîne.
  • RIGHT/DROITE : Extrait les caractères à partir de la fin d'une chaîne.
  • TEXTJOIN/JOINDRE.TEXTE : Combine plusieurs chaînes de texte en une seule.
  • REPLACE/REMPLACER : Remplace une partie d'une chaîne de texte par une autre.
  • SUBSTITUTE/SUBSTITUE : Remplace une occurrence spécifique d'une chaîne de texte par une autre.

La meilleure fonction à utiliser dépendra de la tâche spécifique que vous essayez d'accomplir. Pour extraire des caractères à partir du milieu d'une chaîne, MID/STXT est généralement la meilleure option. Pour extraire à partir du début ou de la fin, LEFT/GAUCHE et RIGHT/DROITE peuvent être plus simples à utiliser.

Questions fréquentes

Quelle est la différence entre MID et STXT ?

MID est le nom de la fonction en anglais, tandis que STXT est son équivalent en français. Les deux fonctions font exactement la même chose et utilisent la même logique.

Comment gérer les erreurs lorsque j'utilise MID/STXT ?

Utilisez la fonction IFERROR/SIERREUR pour renvoyer une valeur par défaut si la formule MID/STXT renvoie une erreur. Cela permet d'éviter d'afficher des erreurs dans votre feuille de calcul.

Puis-je utiliser MID/STXT pour extraire des nombres ?

Oui, MID/STXT peut être utilisée pour extraire n'importe quel type de caractère, y compris des nombres. Le résultat de la fonction sera toujours une chaîne de texte, même si elle contient uniquement des chiffres. Vous devrez peut-être utiliser la fonction VALUE/CNUM pour convertir la chaîne de texte en un nombre si vous souhaitez effectuer des calculs avec.

Comment extraire plusieurs portions de texte d'une même cellule ?

Vous pouvez imbriquer plusieurs fonctions MID/STXT ou combiner MID/STXT avec d'autres fonctions comme LEFT/GAUCHE, RIGHT/DROITE et FIND/CHERCHE pour extraire différentes portions de texte en fonction de leur position ou de motifs spécifiques.

Mots-clés associés :

excel stxt formule excel extraction texte excel extraire partie chaine excel manipuler texte excel fonctions texte excel code postal

Partager cet article :