Envoyer des mails depuis Excel via un tableau de données
Bonjour à toutes et tous,
Je vous soumets un petit problème que je rencontre sur Excel.
Je dois réaliser un suivi de signatures et faire un rappel à plusieurs personnes pour des signatures (Cf. doc ci joint). L'idée c'est de faire une macro pour que tous les liens hypertextes de la colonne J soit envoyés dans le même mail pour la personne correspondante (les autres colonnes se sont justes du suivi).
Sur l'onglet "Mail", j'ai fait une macro pour envoyer un mail mais ça ne marche qu'avec un seul lien et je ne sais pas comment faire pour que la macro envoie plusieurs liens pour la même personne.
J'espère que c'est clair ...
Merci de votre aide.
Cordialement
Bonjour Bas699,
J'ai fait un essai avec ta macro mais le lien vers le document n'est pas un lien sur lequel tu peux cliquer. Regardes sur ce forum "https://forum.excel-pratique.com/excel/lien-dans-hypertexte-dans-le-corps-de-mail-75285" tu y trouveras la réponse pour l'insertion d'un lien.
Pour en ajouter plusieurs, il faut que tu fasses une boucle sur les documents à signer et leur lien en insérant pour chaque lien une ligne "<a ref=xxxxx>" dans le corps du mail. Je ne peux pas être beaucoup plus précis car dans le fichier test, le nom du document est copié dans la cellule et je ne sais pas comment tu récupères les noms des différents documents et leur lien. pour chaque personne à relancer.
Bonjour Cylfo,
Merci de ton retour, je vais regarder le lien que tu indiques.
En fait, je récupère les infos du tableau sur un logiciel et ces infos-là me permettent de générer le lien hypertexte en colonne J (pour naviguer sur le serveur du client) : du coup, dans le fichier envoyé les liens ne marchent pas car j'ai modifié les noms des personnes et des clients pour des raisons de confidentialité, mais la génération des liens fonctionnent dans mon tableau mais ensuite j'avais l'impression que ma macro y transformait en chaîne de caractères et donc ça ne renvoyait pas directement le lien (dans le mail généré si je copiais cette chaîne de caractère et la transférais en lien, il fonctionnait bien).
Faut aussi que je vois pour lier ma boucle au tableau (car le nombre d'entrées varient) et non à un nombre de lignes figées ...
Bonjour tout le monde,
J'ai eu un petit soucis et n'ai pas pu être présent ces derniers temps. J'ai bien regardé le lien et suis passé en format hypertexte, voici ma Macro :
Sub Envoi_mail_bis() 'début du programme
Dim OutApp As Object 'Déclaration de l'application objet Outlook
Dim OutMail As Object 'Déclaration du mail objet Outlook
Dim ligne As Integer
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
Dim i As Long
Dim j As Long
Dim adresse As String
Dim corpsmail As String
With OutMail 'début de la boucle
i = 2
adresse = Worksheets("Données PW").Range("c" & i)
While Worksheets("Données PW").Range("c" & i) = adresse
corpsmail = corpsmail & "<p>" & "Vous avez un document à vérifier avant le " & Worksheets("Données PW").Range("d" & i) & "<p>" & Worksheets("Données PW").Range("a" & i) & "<p>" & "<a href =""Worksheets(""Données PW"").Range(""j"" & i)"">Lien_document</a>"
i = i + 1
.to = adresse 'champ envoyer à / séparer les adresses mail par un ;
.CC = "qualite@entreprise.com" 'champ mail en copie
.BCC = "" 'champ mail en copie caché
.Subject = Worksheets("Mail").Range("B3") 'champ du sujet du mail
.htmlbody = "Bonjour, " & "<p>" & corpsmail & "<p>" & "<p>" & "Cordialement ," & "<p>" & "<p>" & "L'équipe qualite"
'champ du corps du mail ajouter & <p> & pour sauter une ligne
.Display ligne 'affiche le mail en brouillon dans Outlook, pratique pour vérifier avant d'envoyer
'.Send 'envoie directement le mail
'.Save 'sauvegarde le mail
Wend
End With 'fin de la boucle
Set OutMail = Nothing 'nettoie la mémoire en nettoyant les variables
Set OutApp = Nothing 'nettoie la mémoire en nettoyant les variables
End Sub 'fin du programme
J'ai deux soucis :
Je souhaite récupérer un lien vers un document qui se trouve dans un logiciel interne (d'où ma difficulté car vous ne pouvez pas vérifier si cela marche ...). Dans mon tableau Excel, le lien généré en colonne J fonctionne mais pas dans le mail ... Pour ce type de lien, il s'agit également de la fonction "a href" ou d'une autre ? (Si je tape directement le lien dans la macro, cela fonctionne mais pas si je demande à la macro d'aller me chercher le lien dans la cellule ça ne marche pas ...)
J'ai tenté aussi de définir une variable comme Hyperlink mais je n'y arrive pas non plus ... J'ai l'impression que c'est un truc tout bête pourtant -_-'
2e chose : j'aimerai faire une boucle pour passer à la ligne suivante car dans mon tableau de données j'ai des docs à plusieurs personnes à envoyer. Le but est d'envoyer tous les noms de documents et les liens correspondants dans une mail unique pour chaque personne.
Ici il faudrait donc que User 1 reçoive un mail avec les 4 lignes du tableau pour le nom du doc et le lien (ça ok ça marche) puis que User 2 reçoive un doc avec un lien et ainsi de suite pour User 3 ... Voir plus selon le nombre de lignes du tableau.
Merci de votre aide ! J'espère avoir été clair ...
Rebonjour à toutes et tous,
Petit up, j'ai résolu le problème du lien hypertexte.
Maintenant pour envoyer un mail à l'ensemble des adresses du tableau, je me demande si c'est possible avec la fonction "While" ou si je dois en utiliser une autre ... Toujours en envoyant un seul mail regroupant les lignes de mon tableau pour la même personne.
Merci pour votre aide ;)