TexteIntermédiaireExcel 365

Fonction TEXTE.AVANTExtraire le texte avant un délimiteur – Guide 2026

TEXTE.AVANT (TEXTBEFORE en anglais) est une fonction Excel 365 qui extrait automatiquement le texte situé avant un délimiteur spécifié. Elle simplifie radicalement des tâches qui nécessitaient auparavant des combinaisons complexes de GAUCHE et CHERCHE. Idéale pour isoler des prénoms, des domaines d'email, des codes de département ou des références produit, cette fonction te permet de gagner un temps considérable dans le traitement de données textuelles.

Syntaxe

TEXTE.AVANT(texte; délimiteur; [correspondance_instance]; [mode_correspondance]; [si_non_trouvé])

texte : Le texte source dans lequel tu veux chercher

délimiteur : Le caractère ou la chaîne qui marque la limite d'extraction

correspondance_instance (optionnel) : Quelle occurrence du délimiteur utiliser (1 par défaut, négatif pour compter depuis la fin)

mode_correspondance (optionnel) : 0 = sensible à la casse (défaut), 1 = insensible à la casse

si_non_trouvé (optionnel) : Valeur à retourner si le délimiteur n'est pas trouvé (évite l'erreur #N/A)

Astuce : Tu peux utiliser un tableau de délimiteurs pour chercher plusieurs séparateurs en même temps. Par exemple : =TEXTE.AVANT(A1; {"-";"_";"."}) retournera le texte avant le premier délimiteur trouvé.

Comprendre chaque paramètre

1

texte

(obligatoire)

Le texte source contient les données que tu veux analyser. Il peut s'agir d'une référence de cellule (A1), d'une chaîne de texte entre guillemets ("Jean Dupont"), ou du résultat d'une autre formule. C'est dans ce texte que la fonction va chercher le délimiteur pour savoir où couper.

=TEXTE.AVANT(A1; " ") → utilise le contenu de la cellule A1
2

délimiteur

(obligatoire)

Le délimiteur est le caractère ou la séquence de caractères qui marque la fin de l'extraction. Les délimiteurs les plus courants sont l'espace (" "), le tiret ("-"), l'arobase ("@"), le point (".") ou la virgule (","). Tu peux aussi spécifier plusieurs délimiteurs sous forme de tableau pour plus de flexibilité.

=TEXTE.AVANT("contact@ledojo.club"; "@") → "contact"
3

correspondance_instance

(optionnel)

Ce paramètre optionnel définit quelle occurrence du délimiteur utiliser. Par défaut, c'est 1 (le premier délimiteur trouvé). Si tu mets 2, la fonction extraira le texte avant le deuxième délimiteur. Une astuce puissante : utilise un nombre négatif (-1) pour compter depuis la fin du texte !

=TEXTE.AVANT("A-B-C"; "-"; 2) → "A-B"
=TEXTE.AVANT("A-B-C"; "-"; -1) → "A-B" (compte depuis la fin)
4

mode_correspondance

(optionnel)

Le mode de correspondance détermine si la recherche du délimiteur respecte la casse (majuscules/minuscules). Par défaut (0), la recherche est sensible à la casse. Si tu mets 1, la fonction ignorera les différences de casse. C'est très utile quand tu traites des données saisies manuellement avec des incohérences.

=TEXTE.AVANT("ContactANTONIN"; "ANTONIN"; 1; 1) → "Contact" (insensible à la casse)

Exemples pratiques en contexte professionnel

1. Extraction de prénoms dans une base RH

Tu gères une base de données RH avec des noms complets et tu as besoin d'isoler les prénoms pour créer des emails ou personnaliser des communications. TEXTE.AVANT extrait automatiquement tout ce qui précède le premier espace.

L'espace sert de séparateur naturel entre le prénom et le nom de famille.

ABC
1Nom completPrénomFormule
2Jean DupontJean=TEXTE.AVANT(A2; " ")
3Marie-Claire MartinMarie-Claire=TEXTE.AVANT(A3; " ")
4Luc De La FontaineLuc=TEXTE.AVANT(A4; " ")
Formule :=TEXTE.AVANT(A2; " ")
Résultat :Jean

2. Extraction d'identifiants d'emails professionnels

Dans un CRM, tu dois extraire les identifiants d'adresses email pour créer des noms d'utilisateur ou analyser les conventions de nommage de tes contacts. TEXTE.AVANT isole tout ce qui précède l'arobase en une seule formule.

Idéal pour créer des listes d'identifiants uniques à partir d'adresses email.

ABC
1EmailIdentifiantFormule
2contact@entreprise.frcontact=TEXTE.AVANT(A2; "@")
3jean.dupont@ledojo.clubjean.dupont=TEXTE.AVANT(A3; "@")
4support@client.comsupport=TEXTE.AVANT(A4; "@")
Formule :=TEXTE.AVANT(A2; "@")
Résultat :contact

3. Analyse de références produit par département

Tes références produit suivent le format "DÉPARTEMENT-ANNÉE-NUMÉRO" et tu veux regrouper les ventes par département. TEXTE.AVANT extrait uniquement le code département avant le premier tiret pour faciliter tes analyses.

Parfait pour créer des filtres et tableaux croisés dynamiques par département.

ABC
1Référence produitDépartementFormule
2VENTE-2024-001VENTE=TEXTE.AVANT(A2; "-")
3SUPPORT-2024-042SUPPORT=TEXTE.AVANT(A3; "-")
4MARKETING-2024-128MARKETING=TEXTE.AVANT(A4; "-")
Formule :=TEXTE.AVANT(A2; "-")
Résultat :VENTE

4. Découpage de numéros de commande complexes

Dans un système de gestion des commandes, tu dois extraire le code client des numéros de commande au format "CLIENT-REGION-COMMANDE". En utilisant le paramètre correspondance_instance, tu peux extraire jusqu'au deuxième tiret pour obtenir "CLIENT-REGION".

Le paramètre 2 indique qu'on veut tout le texte avant le 2ème tiret.

ABC
1N° CommandeClient-RégionFormule
2FR001-IDF-20240315FR001-IDF=TEXTE.AVANT(A2; "-"; 2)
3BE042-BRX-20240316BE042-BRX=TEXTE.AVANT(A3; "-"; 2)
4CH088-GEN-20240317CH088-GEN=TEXTE.AVANT(A4; "-"; 2)
Formule :=TEXTE.AVANT(A2; "-"; 2)
Résultat :FR001-IDF

Astuce avancée : gérer les erreurs proprement

Plutôt que d'obtenir #N/A quand le délimiteur n'existe pas, utilise le 5ème paramètre pour définir une valeur par défaut :

=TEXTE.AVANT(A1; "@"; 1; 0; "Pas d'email")

Cette formule retournera "Pas d'email" si le texte ne contient pas d'arobase, plutôt qu'une erreur.

Comparaison avec les fonctions similaires

FonctionUsage principalAvantagesLimites
TEXTE.AVANTExtraire avant un délimiteurAutomatique, flexible, plusieurs occurrencesExcel 365 uniquement
TEXTE.APRESExtraire après un délimiteurComplémentaire, même flexibilitéExcel 365 uniquement
GAUCHEExtraire N premiers caractèresCompatible toutes versionsNécessite de connaître le nombre de caractères
STXTExtraire au milieu du textePrécis, compatible toutes versionsNécessite position et longueur exactes
CHERCHE / TROUVETrouver la position d'un texteUtile combiné avec GAUCHENe fait que trouver, pas extraire

Avant Excel 365 : Pour obtenir le même résultat que TEXTE.AVANT, tu devais combiner GAUCHE et CHERCHE : =GAUCHE(A1; CHERCHE("@"; A1)-1). TEXTE.AVANT simplifie tout ça en une seule fonction !

Erreurs fréquentes et solutions

Erreur #N/A - Délimiteur introuvable

Cette erreur apparaît quand le délimiteur que tu cherches n'existe pas dans le texte source.

Problème :

=TEXTE.AVANT("Jean Dupont"; "@") → #N/A

Solution :

=TEXTE.AVANT("Jean Dupont"; "@"; 1; 0; "Pas d'email")

Erreur #NOM? - Fonction non disponible

TEXTE.AVANT nécessite Microsoft 365 ou Excel 2021+. Si tu as une version antérieure, cette fonction n'existe pas.

Alternative pour versions antérieures :

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

Cette combinaison GAUCHE + CHERCHE donne le même résultat mais est plus complexe à écrire.

Erreur #VALEUR! - Type de données incorrect

Cette erreur se produit quand tu fournis un type de données incompatible, comme un nombre là où un texte est attendu.

Solution :

=TEXTE.AVANT(TEXTE(A1; "0"); "-")

Utilise la fonction TEXTE() pour convertir les nombres en texte.

Attention aux espaces invisibles

Les données importées contiennent souvent des espaces en début ou fin de cellule qui peuvent fausser tes résultats.

Bonne pratique :

=TEXTE.AVANT(SUPPRESPACE(A1); "@")

SUPPRESPACE() nettoie les espaces superflus avant le traitement.

Questions fréquentes

TEXTE.AVANT fonctionne-t-elle avec plusieurs délimiteurs ?

Oui, tu peux spécifier un tableau de délimiteurs. Excel retournera le texte avant le premier délimiteur trouvé parmi tous ceux que tu as indiqués. C'est très pratique quand tu travailles avec des formats de données variés.

Que se passe-t-il si le délimiteur n'est pas trouvé ?

Par défaut, TEXTE.AVANT retourne l'erreur #N/A. Pour éviter cela, tu peux utiliser le 5ème paramètre si_non_trouvé pour définir une valeur par défaut, comme un texte vide ou un message personnalisé.

Comment extraire avant la 2ème occurrence d'un délimiteur ?

Utilise le 3ème paramètre correspondance_instance : =TEXTE.AVANT(A1; "-"; 2) pour extraire tout le texte avant le 2ème tiret. Tu peux aussi utiliser un nombre négatif pour compter depuis la fin.

TEXTE.AVANT est-elle sensible à la casse ?

Par défaut, oui. Mais tu peux utiliser le 4ème paramètre mode_correspondance avec la valeur 1 pour rendre la recherche insensible à la casse. Très utile pour traiter des données saisies manuellement.

Quelle est la différence entre TEXTE.AVANT et GAUCHE ?

TEXTE.AVANT cherche automatiquement un délimiteur et extrait tout ce qui est avant, tandis que GAUCHE nécessite de connaître le nombre exact de caractères à extraire. TEXTE.AVANT est donc plus flexible pour les données de longueur variable.

Fonctions similaires à explorer

Deviens un pro d'Excel avec Le Dojo Club

Rejoins notre communauté pour maîtriser toutes les fonctions Excel, partager tes astuces et progresser rapidement dans ton utilisation quotidienne.

Essayer pendant 30 jours