1 votes

Envoi de plusieurs liens mailto : dans une feuille de calcul Excel

J'ai une feuille de calcul Excel qui contient une liste d'éléments suivants mailto: des hyperliens dans l'une des colonnes.
J'aimerais pouvoir envoyer un courriel à une sélection d'entre eux, mais le fait de cliquer sur l'un d'entre eux, même s'il fait partie d'une sélection, n'envoie que ce lien au programme de messagerie, et le fait d'essayer de les copier ne copie que le texte affiché - il ne semble pas possible de copier le lien sous-jacent.

Je ne trouve pas non plus de moyen d'accéder au lien sous-jacent à partir d'une formule dans une autre cellule pour concaténer les différents groupes logiques de personnes en un seul lien contenant toutes leurs adresses.

J'ai cherché sur Internet et trouvé de nombreuses solutions pour les liens contenant plusieurs adresses, mais aucune qui prenne comme point de départ un ensemble de liens contenant chacun une seule adresse.

Quelqu'un sait comment faire ?

0voto

Andi Mohr Points 4100

Nous allons devoir utiliser un peu de VBA ici, mais ne vous inquiétez pas, c'est simple et facile !

Appuyez sur Alt + F11 . Cela fera apparaître l'éditeur Visual Basic. Dans la barre de menu supérieure, cliquez sur Insérer puis Module . Collez le code suivant dans la fenêtre qui apparaît à droite :

Function GetEmailAddress(EmailCell As Range) As String
   GetEmailAddress = Replace(EmailCell.Hyperlinks(1).Address, "mailto:", "")
End Function

Vous pouvez maintenant fermer cette fenêtre et retourner à votre feuille de calcul.

Ajoutez une colonne à droite de votre liste de noms contenant des liens. Nous allons stocker nos adresses e-mail ici. Entrez cette formule et copiez-la vers le bas :

=GetEmailAddress(A2)

enter image description here

Concaténer les adresses électroniques qui vous intéressent dans une autre cellule, et mettre le résultat en hyperlien :

=HYPERLINK("mailto:"&A2&","&A3&","&A4&","&A5,"email people")

Cela produit un lien disant email people comme indiqué dans la cellule D4 de la capture d'écran. Lorsque vous cliquez sur le lien, la liste des adresses est envoyée à votre client de messagerie.

enter image description here

Note - Comme nous avons ajouté du code VBA, nous devons enregistrer le fichier au format .xls ou .xlsm.

0voto

Dan Points 1329

Puisque la réponse acceptée implique la création d'une colonne supplémentaire, et que je ne me soucie pas trop d'avoir un hyperlien final - je suis assez heureux de simplement copier et coller une chaîne de caractères dans le programme de messagerie - j'ai adapté la réponse acceptée avec cette fonction. Cela pourrait être utile à quelqu'un qui fait la même chose et qui n'a pas réussi à faire un commentaire.

Function GetEmailAddress(EmailCell As Range) As String

    Dim addressList As String
    Dim sep As String

    For Each c In EmailCell.Cells
        addressList = addressList & sep & Replace(c.Hyperlinks(1).Address, "mailto:", "")
        sep = ","
    Next

   GetEmailAddress = addressList

End Function

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X