Guides Excel

Comment extraire une partie de texte avec SUBSTR sur Excel ?

15 janvier 2026 7 vues

Vous êtes-vous déjà retrouvé face à un tableau Excel rempli de données textuelles dont vous n'avez besoin que d'une portion ? Extraire des informations spécifiques d'une chaîne de caractères est un besoin courant. Heureusement, Excel offre des outils puissants pour cela. Bien qu'il n'existe pas de fonction *SUBSTR* à proprement parler dans Excel, des alternatives comme `GAUCHE`, `DROITE` et `MID` permettent d'obtenir le même résultat, voire plus. Cet article vous guidera à travers ces fonctions, avec des exemples clairs et des astuces pour les utiliser efficacement.

Comprendre l'extraction de texte dans Excel : L'équivalent de SUBSTR

Bien qu'Excel n'offre pas de fonction nommée explicitement SUBSTR, l'extraction de portions de texte est tout à fait possible grâce à un ensemble de fonctions dédiées. Ces fonctions vous permettent de manipuler les chaînes de caractères et d'extraire précisément les informations dont vous avez besoin.

Pourquoi utiliser l'extraction de texte ?

L'extraction de texte est essentielle dans de nombreux cas de figure :

  • Nettoyage de données : Supprimer des caractères indésirables, uniformiser les formats.
  • Analyse de données : Isoler des informations spécifiques (codes produits, dates, etc.).
  • Automatisation : Créer des rapports personnalisés en extrayant les données pertinentes.
  • Importation de données : Adapter des données issues de sources externes au format Excel.

Les fonctions clés pour l'extraction de texte dans Excel

Excel propose plusieurs fonctions pour extraire du texte, les plus courantes étant :

  • GAUCHE : Extrait un certain nombre de caractères depuis le début (la gauche) d'une chaîne de texte.
  • DROITE : Extrait un certain nombre de caractères depuis la fin (la droite) d'une chaîne de texte.
  • MID : Extrait un certain nombre de caractères à partir d'une position spécifiée au milieu d'une chaîne de texte.
  • CHERCHE et TROUVE: Permettent de localiser la position d'un caractère ou d'une chaîne de caractères dans un texte, ce qui est utile pour déterminer le point de départ d'une extraction avec MID.
  • LEN: Renvoie le nombre de caractères dans une chaîne de texte. Souvent utilisée en combinaison avec d'autres fonctions d'extraction.

Utilisation de la fonction GAUCHE

La fonction GAUCHE est l'équivalent de SUBSTR pour extraire une portion de texte à partir du début d'une chaîne. Sa syntaxe est la suivante :

=GAUCHE(texte; nombre_caractères)

  • texte : La cellule contenant le texte à partir duquel vous souhaitez extraire des caractères.
  • nombre_caractères : Le nombre de caractères à extraire à partir de la gauche. Si cet argument est omis, la fonction extrait un seul caractère.

Exemple pratique de la fonction GAUCHE

Imaginez que la cellule A1 contient le texte "REF-2023-001". Vous souhaitez extraire le code "REF". La formule serait :

=GAUCHE(A1; 3)

Cette formule renverra "REF".

Astuces pour la fonction GAUCHE

  • Utilisez GAUCHE en combinaison avec CHERCHE ou TROUVE pour extraire une portion de texte jusqu'à un caractère spécifique. Par exemple, pour extraire tout le texte avant le premier tiret dans "REF-2023-001", vous pouvez utiliser :

    =GAUCHE(A1;CHERCHE("-";A1)-1)

    Ici, CHERCHE("-";A1) renvoie la position du premier tiret, et on soustrait 1 pour ne pas inclure le tiret dans le résultat.

Utilisation de la fonction DROITE

La fonction DROITE est similaire à GAUCHE, mais elle extrait une portion de texte à partir de la fin d'une chaîne. Sa syntaxe est la suivante :

=DROITE(texte; nombre_caractères)

  • texte : La cellule contenant le texte à partir duquel vous souhaitez extraire des caractères.
  • nombre_caractères : Le nombre de caractères à extraire à partir de la droite. Si cet argument est omis, la fonction extrait un seul caractère.

Exemple pratique de la fonction DROITE

En reprenant l'exemple précédent où la cellule A1 contient le texte "REF-2023-001", vous souhaitez extraire le code "001". La formule serait :

=DROITE(A1; 3)

Cette formule renverra "001".

Astuces pour la fonction DROITE

  • Comme pour GAUCHE, vous pouvez combiner DROITE avec CHERCHE ou TROUVE et LEN pour extraire une portion de texte après un caractère spécifique. Par exemple, pour extraire tout le texte après le dernier tiret dans "REF-2023-001", vous pouvez utiliser :

    =DROITE(A1;LEN(A1)-CHERCHE("-";A1;CHERCHE("-";A1)+1))

    Cette formule est un peu plus complexe. CHERCHE("-";A1;CHERCHE("-";A1)+1) trouve la position du deuxième tiret (en commençant la recherche après le premier). LEN(A1) donne la longueur totale du texte. On soustrait la position du deuxième tiret à la longueur totale pour obtenir le nombre de caractères à extraire à partir de la droite.

Utilisation de la fonction MID

La fonction MID est la plus polyvalente car elle permet d'extraire une portion de texte à partir d'une position quelconque au milieu d'une chaîne. Sa syntaxe est la suivante :

=MID(texte; position_départ; nombre_caractères)

  • texte : La cellule contenant le texte à partir duquel vous souhaitez extraire des caractères.
  • position_départ : La position du premier caractère à extraire. Le premier caractère est en position 1.
  • nombre_caractères : Le nombre de caractères à extraire.

Exemple pratique de la fonction MID

Toujours avec la cellule A1 contenant "REF-2023-001", vous souhaitez extraire l'année "2023". La formule serait :

=MID(A1; 5; 4)

Cette formule renverra "2023" car elle commence à extraire à partir du 5ème caractère et extrait 4 caractères.

Astuces pour la fonction MID

  • La puissance de MID réside dans sa capacité à être combinée avec CHERCHE ou TROUVE pour déterminer dynamiquement la position de départ. Par exemple, pour extraire le texte entre les deux tirets dans "REF-2023-001", vous pouvez utiliser :

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

    Cette formule calcule la position de départ en ajoutant 1 à la position du premier tiret. Ensuite, elle calcule le nombre de caractères à extraire en soustrayant la position du premier tiret (et 1) à la position du deuxième tiret.

Combiner les fonctions d'extraction de texte pour des résultats avancés

La véritable puissance réside dans la combinaison de ces fonctions. Voici quelques exemples :

  • Extraire le nom de domaine d'une adresse email : Si la cellule A1 contient "utilisateur@exemple.com", la formule suivante extrait "exemple.com" :

    =DROITE(A1;LEN(A1)-CHERCHE("@";A1))

  • Extraire le prénom d'un nom complet : Si la cellule A1 contient "Dupont Jean", la formule suivante extrait "Dupont" (en supposant que le nom de famille vient en premier) :

    =GAUCHE(A1;CHERCHE(" ";A1)-1)

  • Extraire le code postal d'une adresse : Si la cellule A1 contient "12 Rue du Moulin 75001 Paris", et que le format est toujours le même, la formule suivante extrait "75001" :

    =MID(A1;CHERCHE(" ";A1;CHERCHE(" ";A1;CHERCHE(" ";A1)+1)+1)+1;5)

    Cette formule est plus complexe car elle recherche le 3ème espace dans la chaîne pour déterminer le début du code postal.

Erreurs courantes et comment les éviter

  • Erreur #VALUE! : Cette erreur se produit généralement lorsque la fonction CHERCHE ou TROUVE ne trouve pas le caractère ou la chaîne de caractères recherchée. Assurez-vous que le caractère existe bien dans le texte.
  • Erreur #NAME? : Cette erreur indique qu'Excel ne reconnaît pas le nom de la fonction. Vérifiez l'orthographe de la fonction (par exemple, GAUCHE et non GAUCH).
  • Extraction incorrecte : Vérifiez que les positions de départ et le nombre de caractères sont corrects. Utilisez la fonction LEN pour vérifier la longueur de la chaîne de texte et ajustez les paramètres en conséquence.
  • Gestion des erreurs avec SIERREUR : Pour éviter l'affichage d'erreurs, vous pouvez utiliser la fonction SIERREUR pour renvoyer une valeur par défaut en cas d'erreur. Par exemple :

    =SIERREUR(MID(A1;5;4); "Erreur")

    Cette formule renverra "Erreur" si la fonction MID génère une erreur.

Alternatives aux fonctions d'extraction de texte

Bien que les fonctions GAUCHE, DROITE et MID soient les plus courantes, il existe d'autres approches :

  • Flash Fill (Remplissage instantané) : Cette fonctionnalité intelligente d'Excel peut reconnaître des motifs dans vos données et les reproduire automatiquement. Elle est particulièrement utile pour extraire des données structurées.
  • Power Query : Cet outil puissant permet d'importer, de transformer et de nettoyer des données provenant de différentes sources. Il offre des fonctionnalités avancées d'extraction de texte.
  • Macros VBA : Pour des besoins très spécifiques et complexes, vous pouvez utiliser des macros VBA pour créer des fonctions d'extraction de texte personnalisées.

Conclusion

Bien qu'Excel ne propose pas de fonction SUBSTR directe, les fonctions GAUCHE, DROITE et MID, combinées avec CHERCHE ou TROUVE, offrent une solution puissante et flexible pour extraire des portions de texte. En maîtrisant ces fonctions et en comprenant leurs subtilités, vous pourrez manipuler vos données textuelles avec précision et efficacité. N'hésitez pas à expérimenter et à combiner ces fonctions pour répondre à vos besoins spécifiques. L'extraction de texte est une compétence essentielle pour tout utilisateur d'Excel qui souhaite exploiter pleinement le potentiel de ses données.

Questions fréquentes

Comment extraire le dernier mot d'une chaîne de texte dans Excel ?

Vous pouvez utiliser une combinaison des fonctions `DROITE`, `CHERCHE` et `LEN`. La formule serait quelque chose comme : `=DROITE(A1;LEN(A1)-CHERCHE(" ";A1;NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))))` où A1 est la cellule contenant le texte. Cette formule trouve la position du dernier espace et extrait tout ce qui se trouve après.

Quelle est la différence entre CHERCHE et TROUVE dans Excel ?

`CHERCHE` n'est pas sensible à la casse (elle ignore les majuscules et minuscules), tandis que `TROUVE` est sensible à la casse. `CHERCHE` permet également d'utiliser des caractères génériques (* et ?), ce que `TROUVE` ne permet pas.

Comment extraire des chiffres d'une chaîne de texte ?

L'extraction de chiffres nécessite une approche plus complexe. Vous pouvez utiliser une combinaison de fonctions comme `ESTNUM`, `MID`, et une formule matricielle (à valider avec Ctrl+Maj+Entrée) pour parcourir chaque caractère et extraire uniquement les chiffres. Des exemples de code VBA peuvent également simplifier cette tâche.

Mots-clés associés :

extraire texte excel fonction gauche excel fonction droite excel fonction mid excel cherche excel trouve excel formule extraction texte excel

Partager cet article :