Microsoft Excel offre un ensemble de fonctions permettant de travailler avec du texte. Lorsque vous souhaitez extraire une partie d’une chaîne de texte ou diviser une chaîne en lignes ou en colonnes, trois fonctions particulières permettent d’y parvenir.

Avec TEXTBEFORE et TEXTAFTER, vous pouvez extraire le texte avant ou après un certain mot ou caractère. Ces fonctions sont donc plus flexibles que les fonctions LEFT, RIGHT et MID que vous pouvez utiliser. Pour diviser une chaîne de caractères en plusieurs cellules, vous pouvez utiliser TEXTSPLIT.

La fonction TEXTBEFORE

La syntaxe de la fonction est TEXTBEFORE(texte, délimiteur, instance, match_mode, match_end, if_not_found). Les deux premiers arguments sont obligatoires, le texte étant soit le texte réel, soit une référence de cellule, et le délimiteur étant le point auquel vous voulez que le texte précède.

Voici la description des trois arguments facultatifs :

  • Instance : Utilisez cet argument s’il y a plus d’une occurrence du délimiteur dans la chaîne et que vous voulez une occurrence particulière.
  • Match_mode : Entrez un 0 pour la sensibilité à la casse ou 1 pour la non sensibilité à la casse. La valeur par défaut est 0.
  • Match_end : Entrez 0 pour ne pas faire correspondre le délimiteur à la fin du texte et 1 pour le faire correspondre. La valeur par défaut est 1.
  • If_not_found : Utilisez cet argument si vous préférez un résultat plutôt qu’une erreur pour les valeurs non trouvées.

Maintenant que vous connaissez les arguments, voyons quelques exemples d’utilisation de TEXTBEFORE.

Dans ce premier exemple, nous allons extraire tout le texte précédant le mot « de » dans la cellule A2 en utilisant cette formule :

=TEXTBEFORE(A2, « de »)

Fonction TEXTBEFORE pour une extraction de base

À l’aide de la formule suivante, nous allons extraire tout le texte situé avant la deuxième occurrence du mot « texte ».

=TEXTBEFORE(A2, « texte »,2)

Fonction TEXTBEFORE utilisant une instance

Pour un autre exemple, nous allons utiliser l’argument match_mode pour une correspondance sensible à la casse.

=TEXTBEFORE(A2, « TEXT »,,0)

Fonction TEXTBEFORE utilisant la sensibilité à la casse

COMMENT CORRIGER LES ERREURS DE FORMULE COURANTES DANS MICROSOFT EXCEL

La fonction TEXTAFTER

TEXTAFTER est l’exact opposé de TEXTBEFORE. La syntaxe de la fonction est TEXTAFTER(texte, délimiteur, instance, match_mode, match_end, if_not_found).

Comme son homologue, les deux premiers arguments sont obligatoires, le texte étant soit le texte réel, soit une référence de cellule, et le délimiteur étant le point auquel vous voulez que le texte soit ajouté.

Les trois arguments facultatifs décrits ci-dessus fonctionnent également de la même manière que la fonction TEXTBEFORE.

Dans ce premier exemple, nous allons extraire tout le texte après le mot « de » dans la cellule A2 en utilisant cette formule :

=TEXTAFTER(A2, « de »)

Fonction TEXTAFTER pour une extraction de base

À l’aide de la formule suivante, nous allons extraire tout le texte après la deuxième occurrence du mot « texte ».

=TEXTAFTER(A2, « texte »,2)

Fonction TEXTAFTER utilisant une instance

Et enfin, nous utiliserons l’argument match_mode pour une correspondance sensible à la casse.

=TEXTAFTER(A2, « TEXT »,,0)

Fonction TEXTAFTER utilisant la sensibilité à la casse

COMMENT ACTIVER LES MACROS DANS MICROSOFT EXCEL

La fonction TEXTSPLIT

Avec la fonction TEXTSPLIT, vous pouvez diviser le texte en cellules dans une ligne ou une colonne en fonction du délimiteur, par exemple un espace ou un point.

La syntaxe est la suivante : TEXTSPLIT(text, column_delimiter, row_delimiter, ignore, match_mode, pad_with) où le premier argument est obligatoire et peut être du texte réel ou une référence de cellule. Par défaut, la formule divise le texte en colonnes, mais vous pouvez utiliser des lignes à la place avec l’argument row_delimiter.

Voici la description des autres arguments :

  • Ignorer : Entrez FALSE pour créer une cellule vide lorsque deux délimiteurs sont consécutifs. La valeur par défaut est TRUE.
  • Match_mode : Cherche le délimiteur pour une correspondance, la valeur par défaut étant sensible à la casse.
  • Pad_with : Pour compléter le résultat, entrez une valeur. Sinon, l’erreur #N/A s’affiche.

Dans cet exemple, nous allons diviser la chaîne de texte de la cellule A2 en plusieurs colonnes avec un espace comme délimiteur de colonne entre guillemets. Voici la formule :

=TEXTSPLIT(A2, » « )

Fonction TEXTSPLIT entre les colonnes

Au lieu de diviser la chaîne entre les colonnes, nous allons la diviser entre les lignes en utilisant un espace comme délimiteur de ligne avec cette formule :

=TEXTSPLIT(A2,, » « )

Remarquez que dans cette formule, nous laissons l’argument column_delimiter vide et utilisons uniquement le row_delimiter.

Fonction TEXTSPLIT entre les lignes

Pour l’exemple suivant, nous allons diviser uniquement après le point-virgule dans une autre colonne :

=TEXTSPLIT(A2,  » ; »)

Fonction TEXTSPLIT sur plusieurs colonnes avec un seul délimiteur

Ensuite, nous allons séparer uniquement après le point-virgule dans une ligne au lieu d’une colonne :

=TEXTSPLIT(A2,, » ; »)

Fonction TEXTSPLIT sur des lignes avec un seul délimiteur

La fonction TEXTSPLIT est puissante. Si vous recherchez des exemples plus complexes d’utilisation des arguments facultatifs, consultez la page du support Microsoft pour la fonction TEXTSPLIT.

La prochaine fois que vous voudrez extraire du texte d’une cellule ou diviser une longue chaîne de texte, gardez ces fonctions Excel à l’esprit.