Eclater le prénom, le nom et l’email

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

Pour marque-pages : Permaliens.

5 réponses à Eclater le prénom, le nom et l’email

  1. Omega dit :

    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

  2. Pierre SEVET dit :

    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

  3. Gaetan Mourmant dit :

    Merci à tous les deux pour les compléments d’information 🙂
    Gaetan

  4. christophe Watrigant dit :

    Merci du fond du coeur !!! génial !!

  5. oguruma2 dit :

    bjr, maintenant nous avons powerquery pour toutes ces manipulations 😉

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.