Comment isoler les mails?

serena79

XLDnaute Nouveau
Comment fait on pour isoler les mails dns une feuille Excel?

TIBO a donné cette formule
=SI(ESTNUM(TROUVE("@";A2));STXT(A1;1;TROUVE(".fr"; A1)+2);"") mais ça ne marche pas.

Avez vous des idées svp?

Voici à quoi ressemble ma liste:
mmm_èhngh is manon@hotmail.com lgnhejl
friendly cool guy IN MEXICO CITY.....pedrocsll@hotmail.com......

merci!
 

Tibo

XLDnaute Barbatruc
Re : Comment isoler les mails?

rebonjour,

J'avais pas vu ce 2ème post.

Ton premier post :

https://www.excel-downloads.com/threads/extraction-adresse-email.70200/

Il faut éviter de poster une demande dans plusieurs posts, difficile ensuite de suivre tes / nos réponses.

Sur la base de ce que tu nous indiques, une solution par formule :

Le principe consiste à déterminer l'emplacement de l'espace qui précède l'adresse mail et également l'emplacement de l'espace qui suit l'adresse mail. Ca donne cette formule unn peu longuette :

Code:
=STXT(A1;TROUVE("µ";SUBSTITUE(A1;" ";"µ";NBCAR(GAUCHE(A1;TROUVE("@";A1)))
-NBCAR(SUBSTITUE(GAUCHE(A1;TROUVE("@";A1));" ";""))))+1;TROUVE("µ";
SUBSTITUE(A1;" ";"µ";NBCAR(GAUCHE(A1;TROUVE("@";A1)))-NBCAR(SUBSTITUE(GAUCHE(
A1;TROUVE("@";A1));" ";""))))+TROUVE("@";A1)-TROUVE(" ";STXT(A1;
TROUVE("@";A1);99))-2)

Je te laisse essayer

@+
 

serena79

XLDnaute Nouveau
Re : Comment isoler les mails?

rebonjour,

J'avais pas vu ce 2ème post.

Ton premier post :

https://www.excel-downloads.com/threads/extraction-adresse-email.70200/

Il faut éviter de poster une demande dans plusieurs posts, difficile ensuite de suivre tes / nos réponses.

Sur la base de ce que tu nous indiques, une solution par formule :

Le principe consiste à déterminer l'emplacement de l'espace qui précède l'adresse mail et également l'emplacement de l'espace qui suit l'adresse mail. Ca donne cette formule unn peu longuette :

Code:
=STXT(A1;TROUVE("µ";SUBSTITUE(A1;" ";"µ";NBCAR(GAUCHE(A1;TROUVE("@";A1)))
-NBCAR(SUBSTITUE(GAUCHE(A1;TROUVE("@";A1));" ";""))))+1;TROUVE("µ";
SUBSTITUE(A1;" ";"µ";NBCAR(GAUCHE(A1;TROUVE("@";A1)))-NBCAR(SUBSTITUE(GAUCHE(
A1;TROUVE("@";A1));" ";""))))+TROUVE("@";A1)-TROUVE(" ";STXT(A1;
TROUVE("@";A1);99))-2)

Je te laisse essayer

@+

ok on continue ici, alors voici mon fichier en PJ (juste le début sur 2000 adresses)- qu'est-ce qui ne va pas? merci!
 

Pièces jointes

  • Classeur1.xls
    17.5 KB · Affichages: 290
  • Classeur1.xls
    17.5 KB · Affichages: 295
  • Classeur1.xls
    17.5 KB · Affichages: 300

abcd

XLDnaute Barbatruc
Re : Comment isoler les mails?

Bonjour,

Il faut mettre la formule d'une venue dans la même cellule et non dans quatre cellules les unes sous les autres.

J'avais également concocté une formule, supposant sur base de tes premiers exemples, tout comme Tibo d'ailleurs, que l'adresse était entourée d' espaces.
Je constate maintenant que ce sont des <...>, ce qui simplifie grandement la formule.

Peux-tu confirmer que ce sont bien partout des <>?

abcd
 

MJ13

XLDnaute Barbatruc
Re : Comment isoler les mails?

Bonjour à tous

Avec la formule TROUVE (comme je l'avais cherché!)
Il me semble que TROUVE est aussi sur les anciennes versions (testé sur XL2007)
En B2 puis recopie vers le bas

Code:
=STXT(A2;TROUVE("<";A2;1)+1;(TROUVE(">";A2;1)-TROUVE("<";A2;1)-1))
 
Dernière édition:

abcd

XLDnaute Barbatruc
Re : Comment isoler les mails?

Salut Tibo,

A titre de renseignement, voici ma formule, uniquement valable si l'adresse e-mail est entourée d'espaces :

=STXT(GAUCHE(A1;CHERCHE("@";A1));CHERCHE("µ";SUBSTITUE(GAUCHE(A1;CHERCHE("@";A1));" ";"µ";NBCAR(GAUCHE(A1;CHERCHE("@";A1)))-NBCAR(SUBSTITUE(GAUCHE(A1;CHERCHE("@";A1));" ";""))))+1;50)&STXT(A1;CHERCHE("@";A1)+1;NBCAR(GAUCHE(STXT(A1;CHERCHE("@";A1);50);CHERCHE(" ";STXT(A1;CHERCHE("@";A1);50))))-2)

Tout aussi longue (il n'y a que 8 caractères de différence) !

abcd
 

Tibo

XLDnaute Barbatruc
Re : Comment isoler les mails?

Bonjour à tous,

Serena, tout est beaucoup plus simple lorsqu'un fichier est joint. Ca évite les explications plus ou moins embrouillées et ca nous permet de mieux comprendre le problème.

Sinon, pour le fun, une autre solution, basée sur celle de Michel :

Code:
=SUBSTITUE(STXT(A2;TROUVE("<";A2)+1;99);">";"")

valable si l'adresse mail est en fin de phrase.

Bon WE

@+
 

Tibo

XLDnaute Barbatruc
Re : Comment isoler les mails?

re,

Certes, mon cher Michel, mais sache que je suis également scotché lorsque je vois les réalisations Vbaïstiques que tu nous livres.

Cela dit, de telles formules ne sont finalement pas si compliquées que ça à mettre au point. Je commence par décomposer le problème en plusieurs formules que je regroupe à la fin en une seule. Facile à dire ...

Bon WE à toi

@+
 

Staple1600

XLDnaute Barbatruc
Re : Comment isoler les mails?

Bonjur à tous


Une solution avec données/convertir
Méthode
Selection de la colonne A
Données/Convertir
cocher Délimité
cocher
Autre
:>
On obtient les adresses en colonne B
Sélection Colonne B
Edition/Remplacer > par rien.

La même opération issue de l'enregistreur de macro (En version plus courte):
Code:
Sub Macro1_bis()
Selection.TextToColumns Range("A1"), xlDelimited, xlDoubleQuote, , , , , , True, "<"
Columns("B:B").Replace ">", "", xlPart, xlByRows, False
End Sub
 
Dernière édition:

serena79

XLDnaute Nouveau
Re : Comment isoler les mails?

Re,

Ton fichier avec la nouvelle formule

abcd


Punaise, je n'avais pas vu que plusieurs personnes m'avaient répondu- et moi qui attendais d'être prévenue par email...

Bon j'ai regardé ton fichier et d'ailleurs merci beaucoup mais je dois être nulle, car si je copie d'autres emails en-dessous des 4 premiers et que j'étends ta formule, bien ça ne marche toujours pas...Mais comment as-tu fait pour faire apparaître ces emails? Punaise, c'est un truc de fou...J'ai vraiment l'impression de louper quelque chose là...Où la notes-tu la formule? Et où la copies tu ensuite pour les autres emails?

Pour répondre à ta question: non il n'y a pas que tout le temps des > ou des > dans mes emails.

Merci pour votre aide, je suis toujours bloquée...
 

serena79

XLDnaute Nouveau
Re : Comment isoler les mails?

Bonjour à tous

Avec la formule TROUVE (comme je l'avais cherché!)
Il me semble que TROUVE est aussi sur les anciennes versions (testé sur XL2007)
En B2 puis recopie vers le bas

Code:
=STXT(A2;TROUVE("<";A2;1)+1;(TROUVE(">";A2;1)-TROUVE("<";A2;1)-1))

ok ça y est ça marche avec cette formule!!!Par contre, j'ai aussi des mails bien écris entre les autres et du coup ça me met 'VALEUR'- comment épurer tout cela et ne récupérer que les emails au final? Regardez le début de mon fichier en PJ pour mieux comprendre (il y a au total + de 2000 adresses)
 

Pièces jointes

  • Classeur1.xls
    18 KB · Affichages: 178
  • Classeur1.xls
    18 KB · Affichages: 189
  • Classeur1.xls
    18 KB · Affichages: 184

abcd

XLDnaute Barbatruc
Re : Comment isoler les mails?

Re,

Dans ton premier exemple les adresses e-mail étaient entourés d'espaces (devant et derrière), dans le second de <>.
Pour le second (les <>) j'ai même pris une précaution me disant qu'il y auraient peut-être des e-mails avec du texte derrière le >.
La formule que je t'ai proposée fonctionne pour ce que tu as demandé.

Il me semble que si tu veux être aidée, tu te dois de fournir un exemple représentatif (tous les cas de figure) de tes données, faute de quoi on pourra encore tourner longtemps en rond !

J'attends tes données.

abcd
 

abcd

XLDnaute Barbatruc
Re : Comment isoler les mails?

Re,

Je n'avais pas vu ton message avec la dernière pièce jointe.

S'il n'y a pas d'autres cas de figure, la formule en pièce jointe devrait fonctionner.

abcd
 

Pièces jointes

  • SerenaV2.zip
    3.4 KB · Affichages: 170