Bonjour à tous,
Devant fréquemment reprendre des adresses emails de thunderbird pour les remettre dans une table, voici une petite formule très pratique. Il y a pleins d'autres alternatives comme d'exporter le carnet d'adresse, mais je voulais juste pouvoir faire un copier-coller dans une table.
Vous pouvez télécharger le fichier ici.
Soit un email formaté de cette manière et mis en A2 :
Gaetan Mourmant <contact@polykromy.com>
Cette technique fonctionne pour la majorité des cas, c'est à dire où le prénom et le nom sont séparés par un espace. Dans les autres cas, c'est plus difficile à gérer et on rentre dans la gestion de beaucoup de cas particuliers.
On considère ici le premier espace. On considère aussi un espace entre le nom et le "<" de l'email.
Pour récupérer le prénom (en B2) : =GAUCHE(A2;TROUVE(" ";A2)-1)
Pour récupérer le nom (en C2) : =STXT(A2;NBCAR(B2)+2;TROUVE("<";A2)-NBCAR(B2)-2)
Pour récupérer l'email (en D2) : =STXT(A2;TROUVE("<";A2)+1;NBCAR(A2)-TROUVE("<";A2)-1)
Explications :
=GAUCHE(A2;TROUVE(" ";A2)-1)
La formule TROUVE renvoie la position de l'espace dans A2, et comme on ne veut pas l'espace dans le nom, on enlève 1.
=STXT(A2;NBCAR(B2)+2;TROUVE("<";A2)-NBCAR(B2)-2)
La formule STXT permet de renvoyer une partie d'une chaîne de caractères en fonction de sa position de départ et de sa longueur.
NBCAR(B2)+2 : permet de renvoyer la position du premier caractère du nom, soit donc le nombre de caractères du prénom, plus l'espace, plus un caractère, donc +2.
TROUVE("<";A2)-NBCAR(B2)-2 : permet de renvoyer le nombre de caractères du nom, en se basant sur la position du <.
=STXT(A2;TROUVE("<";A2)+1;NBCAR(A2)-TROUVE("<";A2)-1)
TROUVE("<";A2)+1 : On cherche la position du < que l'on augmente de 1 pour retourner la position du premier caractère de l'email
NBCAR(A2)-TROUVE("<";A2)-1 : On part de la totalité du nombre de caractère de A2, duquel on retranche le nombre de caractères qui se trouvent à gauche du <.
Il y a surement pleins d'autres façons, plus rapides et/ou plus courtes, n'hésitez pas à partager.
A bientôt.
Gaetan
Bonjour
Lecteur assidu de vos newsletters, je voulais simplement préciser qu'ayant dû récupérer des adresses mails , j'utilise systématiquement l'outil "données"... "convertir..." puis dans la colonne où j'ai le mail, je supprimer les .
Une autre façon de récupérer des mails perdus dans du texte, trouvée sur ce blog et qui fonctionne parfaitement bien ... http://excel-competence.over-blog.com/article-extraire-des-adresses-e-mails-sous-excel-avec-une-simple-formule-48276865.html
Bonjour,
Une option rapide qui passe, depuis Excel 2013, par une fonctionnalité pratique : le remplissage instantané :
Supposons que en A3 nous ayons une autre adresse email:
Se positionner sur la cellule B2 puis cliquer dans l'onglet Données puis l'icone "Remplissage instantané". Le 2eme prénom s'affiche au dessous.
Faire de même pour le nom et l'adresse email.
Pour que ca fonctionne, il faut :
- Créer un "modèle" : B2:D2 dans cet exemple.
- Que les cellules "sources" soient contiguës.
Excel "comprend" alors quelles données ont veut extraire.
PS : il arrive que ca fonctionne pas du premier coup. Auquel cas, il faut effacer la case "modèle" (ex: Gaetan) puis remplir de nouveau cette case avant de lancer le remplissage instantané.
Cdt.
Pierre SEVET
Excel "comprend
Merci à tous les deux pour les compléments d'information 🙂
Gaetan
Merci du fond du coeur !!! génial !!
bjr, maintenant nous avons powerquery pour toutes ces manipulations 😉