Extraire des emails d'un fichier excel

agathe

XLDnaute Nouveau
Bonjour,

J'ai un fichier excel sur lequel sont dispersés des emails dans la colonne A, au milieu d'autres lignes de texte et de lignes vides. Il se présente à peu près comme celà:

A
1 Nom: XXX
2 Tel: XXXX
3
4 Email : xxx@yahoo.fr

j'aimerais trier les emails, et ne garder que l'email brut (sans 'email:')

De plus, j'utilise Open Office sur windows XP, mais à priori les fonctionnalités sont identiques à Excel, simplement je suis un peu perdue au niveau des versions...

Je suis une grande débutante, et je vous serai très reconnaissante pour tout coup de main que vous voudriez bien me donner...

Merci d'avance

Agathe
 

john

XLDnaute Impliqué
Re : Extraire des emails d'un fichier excel

Bonjour,
Voici une façon simple (sous office 2007) sans boucle pour extraire l'adresse mail (juste sur une cellule).
Sub extraction()
Dim mail, new_mail As String
Dim depart, lg_chaine As Integer
mail = Range("A1").Value
depart = InStr(mail, ":") + 2 'ici j'ajoute 2 car il y a une espace entre les : et le début de l'adresse mail, si il n'y en avait pas eu, j'aurai fait +1
lg_chaine = Len(mail)
new_mail = Mid(mail, depart, lg_chaine)
MsgBox "nouveau mail : " & new_mail, vbOKOnly + vbInformation, "Extraction effectuée"
End Sub

Bonne journée.
John
 

john

XLDnaute Impliqué
Re : Extraire des emails d'un fichier excel

Il y a encore comme ceci si on aime pas jouer avec la fonction mid.
Sub extractionMail()
Dim Tableau() As String
Dim i As Integer
Dim mail As String
mail = Range("A1").Value
mail = Replace(mail, " ", "") 'je supprime tous les espace qui se trouve dans la chaîne
'découpe la chaine en fonction des espaces " "
'le résultat de la fonction Split est stocké dans un tableau
Tableau = Split(mail, ":")

'boucle sur le tableau pour visualiser le résultat
For i = 0 To UBound(Tableau)
MsgBox Tableau(i)
Next i
End Sub
Bonne journée.
John
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Extraire des emails d'un fichier excel

Bonjour le fil

De plus, j'utilise Open Office sur windows XP, mais à priori les fonctionnalités sont identiques à Excel, simplement je suis un peu perdue au niveau des versions...
John:
Je ne suis pas sur qu'Open Office sache parler correctement le VBA. (sauf si cela a été implémenté dans la dernière version)

Agathe:
Tu peux utiliser le filtre standard (dans Open Office)
Aller dans le menu Données/Filtre/Filtre standard
et choisir comme critère : Contient @
Ainsi tu afficheras uniquement les cellules contenant un email.

Pour rséumer
En admettant que tes emails soient dans la colonne A (à partir de A2)
saisie cette formule en B2 (puis recopie vers le bas)
=SUBSTITUE(A2;"Email : ";"")

Ensuite tu sélectionnes ta colonne B (uniquement les cellules non vides) puis tu appliques le filtre standard comme expliqué plus haut.
 
Dernière édition:

rinasept

XLDnaute Nouveau
Re : Extraire des emails d'un fichier excel

Salut moi personnellement j'utilise un logiciel payant mais qui au moins fonctionne vraiment pour toutes les versions d'offices (je précise aussi qu'il parcours toutes les cellules ainsi que tous les classeurs d'un document excel) ainsi que les autres fichiers voici le lien : Email Finder | Récupérer rapidement toutes vos adresses emails :cool: voila bonne chance !
 
Dernière édition:

poulpor78

XLDnaute Junior
Re : Extraire des emails d'un fichier excel

Bonjour,

Autre méthode simple dérivée de Staple1600 :

1/ Aller dans le menu Données/Filtre/Filtre standard
et choisir comme critère : Contient @

2/ copier la plage de cellules résultat et coller dans une autre feuille. Saous Excel, cela est ne va coller que les cellules filtrées. J'espère que c'est le cas d'ans Open Office.

3/ sur la plage des emails : Menu Edition / Remplacer (control + h dans de nombreux logiciels)
=> texte à remplacer : "Email : "(mettre un espace à la fin et ne pas mettre les guillemets)
=> Remplacer par : "" (laisser vide)

Normalement, tu devrais te retrouver avec tes emails.

Poulpor
 

Statistiques des forums

Discussions
312 492
Messages
2 088 912
Membres
103 983
dernier inscrit
AlbertCouillard