Comment isoler les mails?

  • Initiateur de la discussion Initiateur de la discussion serena79
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

serena79

Guest
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!
 
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

@+
 
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

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
 
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:
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
 
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

@+
 
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

@+
 
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:
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...
 
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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour