Adresses email séparer avec des points virgules

-1

Quand j'exporte une liste de notre système clients, il y a souvent deux adresse email ou plus séparées par des points virgules dans la colonne email. Mais quand j'importe la liste dans cakemail, il n'accepte qu'une adresse email par ligne.

ex. Client Machin Truc adresse1@machintruc.com;adresse2@machintruc.com

Est-ce qu'il y aurait une formule/fonction que je pourrai utiliser pour m'éviter de devoir copier les lignes avec des points virgules, effacer une des adresses et tout ça manuellement?

ex. Ligne 1: Client Machin Truc adresse1@machintruc.com

Ligne 2: Client Machin Truc adresse2@machintruc.com

Posté le 6 mars 2020, 21:58
par Bidule
Répondre
0

Bonsoir,

Oui ça existe. On va le formuler clairement et on adaptera ça avec Excel

Si il y a un point-virgule dans la cellule contenant les adresses mails,
On prend la partie à gauche de ce point-virgule,
Sinon, on copie intégralement le contenu de la cellule.


Imaginons que la cellule E4 contienne les deux adresses suivantes :

moi@orange.fr;lautre@sfr.fr

Je tape la formule 

=SI(CHERCHE(";";E4)>0;GAUCHE(E4;CHERCHE(";";E4)-1);E4)

CHERCHE(";",E4) va rechercher si un point-virgule existe dans la cellule E4 et si oui, la fonction retourne la position où elle trouve le point-virgule (en l'occurence, la position 14)

GAUCHE(E4; <nombre_de_caractères>) va prendre la partie de gauche de la cellule E4. Mais sur combien de caractère ? C'est la fonction CHERCHE qui va nous le dire à nouveau. Si le point-virgule était en 14ème position, l'adresse est donc écrite sur les 14 - 1 premiers caractères. Voilà pourquoi les imbrications de CHERCHE à l'intérieur de GAUCHE

Et pour finir la fonction SI, si on a un point-virgule, on fait cette manipulation de texte, sinon, on prends E4, tout simplement.

Remarque : S'il y a plus de deux adresses email, cette formule extrait uniquement la première. Je crois que c'était ce que tu souhaitais.


Cette formule fonctionne bien quand il y a deux adresses ou plus, mais pas s'il n'y en a qu'une. 

En effet, la fonction CHERCHE renvoie la valeur d'erreur #VALEUR! si le texte recherché n'a pas été trouvé.

On va ajouter la fonction ESTERREUR()

Soit on recherche qu'il n'y ait pas d'erreur et on fait le calcul définit plus haut

=SI(NON(ESTERREUR(CHERCHE(";";E4)));GAUCHE(E4;CHERCHE(";";E4)-1);E4)

Soit on recherche qu'il y ait une erreur, dans ce cas, c'est qu'il n'y a pas de point-virgule, on met le contenu de E4, sinon, on fait la manipulation du texte

=SI(ESTERREUR(CHERCHE(";";E4));E4;GAUCHE(E4;CHERCHE(";";E4)-1))

En espérant avoir répondu à la question :)


Bon courage.


MicXL Posté le 7 mars 2020, 01:31
par MicXL

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :