Extraire rapidement une adresse e-mail à partir d'une chaîne de texte dans Excel - Guide complet
Lorsque vous traitez des données importées ou des chaînes de texte mélangées dans Excel, vous pourriez avoir besoin d'extraire rapidement et précisément des adresses e-mail. Que vous travailliez avec une liste d'adresses e-mail mélangées à d'autres textes ou que vous deviez extraire des e-mails d'un grand ensemble de données, il existe plusieurs méthodes efficaces pour accomplir cette tâche. Ce guide vous guidera à travers diverses techniques pour extraire des adresses e-mail à partir de chaînes de texte, y compris l'utilisation du Remplissage instantané, Kutools pour Excel, des formules, des fonctions définies par l'utilisateur et du code VBA. Chaque méthode offre différents avantages en fonction de vos besoins et de la complexité des données.

Extraire une adresse e-mail à partir d'une chaîne de texte avec le Remplissage instantané
La fonction Remplissage instantané d'Excel fournit un moyen rapide et efficace de formater ou d'extraire automatiquement des données en fonction de modèles que vous définissez. Dans cette section, nous allons voir comment utiliser le Remplissage instantané pour extraire des adresses e-mail à partir d'une colonne de données mixtes. Cette méthode est particulièrement utile lorsque vous traitez des listes contenant divers types de texte et que vous souhaitez extraire uniquement les adresses e-mail.
- Cliquez sur la première cellule de la colonne adjacente (par exemple, B2) où vous souhaitez que les adresses e-mail apparaissent.
- Saisissez manuellement l'adresse e-mail correspondante de la ligne dans la Colonne A, puis appuyez sur Entrée. Par exemple, si A2 contient "ana varela@gmail.com", tapez " ana varela@gmail.com " dans B2.
- Restez dans la cellule B3, appuyez sur "Ctrl + E" pour activer le Remplissage instantané. Excel remplira automatiquement le reste de la colonne B avec les adresses e-mail extraites.
- Le Remplissage instantané est disponible dans Excel 2013 et versions ultérieures. Si vous utilisez Excel 2010 ou une version antérieure, cette fonctionnalité peut ne pas être disponible.
- Assurez-vous que les cellules où vous appliquez le Remplissage instantané sont formatées comme 'Texte' pour éviter tout problème de formatage indésirable.
Un clic pour extraire en lot des adresses e-mail à partir d'une chaîne de texte avec Kutools
Lorsqu'il s'agit d'extraire des adresses e-mail à partir d'un jeu de données, la fonction "Extraire les adresses e-mail" de Kutools pour Excel offre une alternative puissante au Remplissage instantané d'Excel. Alors que le Remplissage instantané propose une approche manuelle pour la reconnaissance de motifs, Kutools pour Excel automatise le processus en un seul clic, ce qui le rend idéal pour traiter de grands volumes de données efficacement. Cet outil simplifie non seulement le processus d'extraction mais garantit également précision et rapidité, surtout lorsqu'il s'agit de jeux de données complexes ou incohérents.
Après avoir téléchargé et installé Kutools pour Excel, procédez comme suit :
- Sélectionnez la plage de cellules à partir de laquelle vous souhaitez extraire les adresses e-mail. Ensuite, accédez à "Kutools" > "Texte" > "Extraire les adresses e-mail".
- Dans la boîte de dialogue "Extraire les adresses e-mail" qui apparaît, sélectionnez une cellule pour afficher l'adresse e-mail et cliquez sur OK.
Résultat
Toutes les adresses e-mail dans chaque cellule de la plage sélectionnée sont immédiatement extraites.

Kutools pour Excel - Boostez Excel avec plus de 300 outils essentiels. Profitez de fonctionnalités IA gratuites en permanence ! Obtenez-le maintenant
Extraire une adresse e-mail à partir d'une chaîne de texte avec une Formule
Voici une longue formule pour extraire uniquement les adresses e-mail à partir du texte dans Excel. Procédez comme suit :
1. Dans la cellule adjacente B1, entrez la formule suivante :
=TRIM(RIGHT(SUBSTITUTE(LEFT(A1,FIND (" ",A1&" ",FIND("@",A1))-1)," ", REPT(" ",LEN(A1))),LEN(A1)))
2. Appuyez ensuite sur la touche Entrée, sélectionnez la cellule B1, et faites glisser la poignée de recopie vers la plage où vous souhaitez appliquer cette formule. Les adresses e-mail ont été extraites de la chaîne de texte. Voir capture d'écran :
Remarques :
1. La ponctuation après l'adresse e-mail sera également extraite.
2. Si les cellules ne contiennent pas d'adresses e-mail, la formule affichera des valeurs d'erreur.
3. S'il y a plus d'une adresse e-mail dans une cellule, la formule n'extraira que la première adresse.
Extraire une adresse e-mail à partir d'une chaîne de texte avec une Fonction définie par l'utilisateur
Outre la formule ci-dessus, une Fonction définie par l'utilisateur peut également vous aider à obtenir l'adresse e-mail à partir de la chaîne de texte.
1. Maintenez les touches "ALT + F11" enfoncées, ce qui ouvre la fenêtre "Microsoft Visual Basic pour Applications".
2. Cliquez sur "Insérer" > "Module", et collez la macro suivante dans la fenêtre Module.
Function ExtractEmailFun(extractStr As String) As String
'Update by extendoffice
Dim CharList As String
On Error Resume Next
CheckStr = "[A-Za-z0-9._-]"
OutStr = ""
Index = 1
Do While True
Index1 = VBA.InStr(Index, extractStr, "@")
getStr = ""
If Index1 > 0 Then
For p = Index1 - 1 To 1 Step -1
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = Mid(extractStr, p, 1) & getStr
Else
Exit For
End If
Next
getStr = getStr & "@"
For p = Index1 + 1 To Len(extractStr)
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = getStr & Mid(extractStr, p, 1)
Else
Exit For
End If
Next
Index = Index1 + 1
If OutStr = "" Then
OutStr = getStr
Else
OutStr = OutStr & Chr(10) & getStr
End If
Else
Exit Do
End If
Loop
ExtractEmailFun = OutStr
End Function
3. Ensuite, enregistrez le code et entrez la formule =ExtractEmailFun(A1) dans une cellule adjacente vide, voir capture d'écran :
4. Appuyez ensuite sur la touche Entrée, sélectionnez la cellule B1, et faites glisser la poignée de recopie sur la plage où vous avez besoin de la formule. Toutes les adresses e-mail ont été extraites du texte des cellules. Voir capture d'écran :
Remarques :
1. Si les cellules ne contiennent pas d'adresses e-mail, elles révéleront des cellules vides.
2. S'il y a plus d'une adresse e-mail dans une cellule, toutes les e-mails seront extraites.
Extraire une adresse e-mail à partir d'une chaîne de texte avec du code VBA
Si les formules ci-dessus semblent fastidieuses, le code VBA suivant peut vous aider à extraire rapidement des adresses e-mail.
1. Maintenez les touches "ALT + F11" enfoncées, ce qui ouvre une fenêtre "Microsoft Visual Basic pour Applications".
2. Cliquez sur "Insérer" > "Module", et collez la macro suivante dans la fenêtre Module.
VBA : extraire des adresses e-mail à partir d'une chaîne de texte
Sub ExtractEmail()
'Update 20130829
Dim WorkRng As Range
Dim arr As Variant
Dim CharList As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
arr = WorkRng.Value
CheckStr = "[A-Za-z0-9._-]"
For i = 1 To UBound(arr, 1)
For j = 1 To UBound(arr, 2)
extractStr = arr(i, j)
outStr = ""
Index = 1
Do While True
Index1 = VBA.InStr(Index, extractStr, "@")
getStr = ""
If Index1 > 0 Then
For p = Index1 - 1 To 1 Step -1
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = Mid(extractStr, p, 1) & getStr
Else
Exit For
End If
Next
getStr = getStr & "@"
For p = Index1 + 1 To Len(extractStr)
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = getStr & Mid(extractStr, p, 1)
Else
Exit For
End If
Next
Index = Index1 + 1
If outStr = "" Then
outStr = getStr
Else
outStr = outStr & Chr(10) & getStr
End If
Else
Exit Do
End If
Loop
arr(i, j) = outStr
Next
Next
WorkRng.Value = arr
End Sub
3. Appuyez ensuite sur la touche F5 pour exécuter ce code, et vous devez sélectionner une plage que vous souhaitez utiliser dans la boîte de dialogue qui apparaît, voir capture d'écran :
4. Cliquez ensuite sur OK, et les adresses e-mail ont été extraites des chaînes de texte sélectionnées. Voir captures d'écran :
![]() | ![]() | ![]() |
Remarques :
1. Si les cellules ne contiennent pas d'adresses e-mail, elles révéleront des cellules vides.
2. Tous les e-mails seront extraits, s'il y a plus d'une adresse e-mail dans une cellule.
3. Les e-mails extraits écraseront les données originales, il est donc recommandé de sauvegarder vos données en premier.
Démo : Extraire une adresse e-mail à partir d'une chaîne de texte avec Kutools pour Excel
Article connexe :
Comment extraire des domaines à partir de plusieurs adresses e-mail dans Excel ?
Meilleurs outils de productivité Office
Dynamisez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité la plus essentielle pour vous...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, au lieu d’ouvrir de nouvelles fenêtres.
- Augmentez votre productivité de50% et réduisez des centaines de clics de souris chaque jour!