Extraire des emails dans Excel avec les Regex

Dernière mise à jour le 31/05/2024
Temps de lecture : 3 minutes

Extraire des emails d'une chaîne de caractères n'est pas quelque chose de facile à réaliser. Chercher le symbole @, c'est facile. Mais ensuite ? 🤔

Il faut trouver la logique qui va nous permettre de trouver le début et la fin de l'email. Car de nombreux aux situations différente peuvent se présenter :

  • @fournisseurs.com (nom + .com)
  • @mon-entreprise.com (nom avec tiret + .com)
  • @mysupplier.co.uk (nom + domaine en deux parties)
  • @ma-start.up.com (nom + tiret et point avant le domaine)
  • .....

Et c'est la même chose avec l'identifiant de l'email

  • support@ (un seul mot)
  • prenom.nom@
  • p.nom@
  • nom-p@
  • agence-31@ (mélange de lettres et de chiffres)

Alors avec les fonctions traditionnelles d'Excel, il très difficile de répertorier tous les cas de figue mais avec les expressions régulières, c'est un jeu d'enfants 😀

Les fonctions TEXTE d'Excel

Pour extraire un email avec les fonctions TEXTE traditionnelles c'est extrêmement difficile à faire

  • Il faut commencer par repérer le @ dans le texte avec la fonction CHERCHE.
  • Puis trouver la position du point qui suit
  • Et ensuite, se décaler de 2 ou 3 caractères (pour les .fr ou .com). Déjà il y a des risques d'erreurs
  • Mais c'est surtout pour trouver le début de l'email, donc les caractères avant le @, que c'est quasi-impossible de trouver une formule appropriée.

Une approche pour trouver le caractère "espace" avant le @ serait d'utiliser la fonction SUBSTITUE comme c'est expliqué dans cet article.

Le remplissage instantané

Une solution plus simple consisterait à utiliser le Remplissage Instantané pour extraire les emails. Si la position des emails étaient toujours la même (au début ou à la fin de chaîne de caractères), le remplissage instantané pourrait faire le travail. Mais dans notre cas, il ne comprend pas la logique et retourne n'importe quoi.

Le Remplissage instantane ne permet pas de extraire les emails du texte complexe

Extraire les emails avec les expressions régulières (REGEX)

Mais depuis l'arrivée des expressions régulières dans Excel, ce travail est grandement simplifié. Nous allons utiliser la fonction REGEXEXTRACT pour extraire les emails en fonction du pattern (schéma).

Extraire tous les emails : \S+@\S+

Nous allons construire un pattern qui va recherchercher tous les caractères différents d'un espace avant et après le @

Extraction des emails avec regex

Extraire tous les emails des employés de mon entreprise

  • Ici nous allons nous focaliser sur le domaine mon-entreprise.com
  • Et pour sélectionner le mail des employés, il faut trouver le pattern texte point texte
  • Le pattern est le suivant : "\w+\.\w+@mon-entreprise.com"
Selectionner les mails des employes de lentreprise

De cette façon, les emails tels que remboursement, confirmation, facturation, ne sont pas retenus

Exclure les emails avec des chiffres

Si nous voulons faire un mailing à caractère professionnel, nous ne voulons pas retenir les mails avec des chiffres dans l'identifiant. Dans ce ca le pattern sera "[a-zA-Z.-+@\S+"

Exclure les emails avec des numeros dans lidentifiant

Articles liés

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Microsoft MVP 2024

Extraire des emails dans Excel avec les Regex

Reading time: 3 minutes
Dernière mise à jour le 31/05/2024

Extraire des emails d'une chaîne de caractères n'est pas quelque chose de facile à réaliser. Chercher le symbole @, c'est facile. Mais ensuite ? 🤔

Il faut trouver la logique qui va nous permettre de trouver le début et la fin de l'email. Car de nombreux aux situations différente peuvent se présenter :

  • @fournisseurs.com (nom + .com)
  • @mon-entreprise.com (nom avec tiret + .com)
  • @mysupplier.co.uk (nom + domaine en deux parties)
  • @ma-start.up.com (nom + tiret et point avant le domaine)
  • .....

Et c'est la même chose avec l'identifiant de l'email

  • support@ (un seul mot)
  • prenom.nom@
  • p.nom@
  • nom-p@
  • agence-31@ (mélange de lettres et de chiffres)

Alors avec les fonctions traditionnelles d'Excel, il très difficile de répertorier tous les cas de figue mais avec les expressions régulières, c'est un jeu d'enfants 😀

Les fonctions TEXTE d'Excel

Pour extraire un email avec les fonctions TEXTE traditionnelles c'est extrêmement difficile à faire

  • Il faut commencer par repérer le @ dans le texte avec la fonction CHERCHE.
  • Puis trouver la position du point qui suit
  • Et ensuite, se décaler de 2 ou 3 caractères (pour les .fr ou .com). Déjà il y a des risques d'erreurs
  • Mais c'est surtout pour trouver le début de l'email, donc les caractères avant le @, que c'est quasi-impossible de trouver une formule appropriée.

Une approche pour trouver le caractère "espace" avant le @ serait d'utiliser la fonction SUBSTITUE comme c'est expliqué dans cet article.

Le remplissage instantané

Une solution plus simple consisterait à utiliser le Remplissage Instantané pour extraire les emails. Si la position des emails étaient toujours la même (au début ou à la fin de chaîne de caractères), le remplissage instantané pourrait faire le travail. Mais dans notre cas, il ne comprend pas la logique et retourne n'importe quoi.

Le Remplissage instantane ne permet pas de extraire les emails du texte complexe

Extraire les emails avec les expressions régulières (REGEX)

Mais depuis l'arrivée des expressions régulières dans Excel, ce travail est grandement simplifié. Nous allons utiliser la fonction REGEXEXTRACT pour extraire les emails en fonction du pattern (schéma).

Extraire tous les emails : \S+@\S+

Nous allons construire un pattern qui va recherchercher tous les caractères différents d'un espace avant et après le @

Extraction des emails avec regex

Extraire tous les emails des employés de mon entreprise

  • Ici nous allons nous focaliser sur le domaine mon-entreprise.com
  • Et pour sélectionner le mail des employés, il faut trouver le pattern texte point texte
  • Le pattern est le suivant : "\w+\.\w+@mon-entreprise.com"
Selectionner les mails des employes de lentreprise

De cette façon, les emails tels que remboursement, confirmation, facturation, ne sont pas retenus

Exclure les emails avec des chiffres

Si nous voulons faire un mailing à caractère professionnel, nous ne voulons pas retenir les mails avec des chiffres dans l'identifiant. Dans ce ca le pattern sera "[a-zA-Z.-+@\S+"

Exclure les emails avec des numeros dans lidentifiant

Articles liés

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.