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.