Insérer un lien hypertexte dans un mail envoyé par VBA
creator3_1969
Messages postés
13
Statut
Membre
-
yg_be Messages postés 24281 Statut Contributeur -
yg_be Messages postés 24281 Statut Contributeur -
Bonjour,
J'ai fait plusieurs recherches et plein d'essais mais je n'arrive malheureusement pas à insérer un lien hypertexte dans mon corps de mail qui serait envoyé automatiquement.
J'ai eu soit le chemin d'accès qui se met, soit le nom mais plus le chemin ou alors le chemin et le nom mais pas en lien.
Je suis sûr que c'est une "connerie" mais je bloque….
Pouvez-vous m'aider ?
merci beaucoup
J'ai fait plusieurs recherches et plein d'essais mais je n'arrive malheureusement pas à insérer un lien hypertexte dans mon corps de mail qui serait envoyé automatiquement.
J'ai eu soit le chemin d'accès qui se met, soit le nom mais plus le chemin ou alors le chemin et le nom mais pas en lien.
Je suis sûr que c'est une "connerie" mais je bloque….
Pouvez-vous m'aider ?
merci beaucoup
Sub SendMailhyperlink()
Dim lien As String
Dim csPath1 As String
Dim Myname As String
Dim MonOutlook As Object
Dim MonMessage As Object
csPath1 = "P:\Finance Department\Finance_Transport\Test_PAS_TOUCHE_LAURENT\"
Myname = ("ANNEXE_BPOST_MINI_PACK_SCAN") & "_" & Sheets("MAIN MINI PACK SCAN").Range("C4") & "_" & Sheets("Annexe Transport").Range("L5") & "_" & Sheets("Annexe Transport").Range("M5") ' & "_" & Format(Date, "mmmm_yyyy")
lien = csPath1 & Myname
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.CreateItem(0)
MonMessage.BodyFormat = 2
corps = "<HTML><BODY>"
MonMessage.To = "xxx@xxx.com"
MonMessage.cc = ""
MonMessage.Subject = "Annexe facture"
corps = corps & "Bonjour,"
corps = corps & "<p>"
corps = corps & "<p> Ci-dessous le lien vers l'annexe qui a été crée : "".</p>"
corps = corps & "<a href=lien>lien</a></p>"
corps = corps & "</BODY></HTML>"
MonMessage.HTMLBody = corps
MonMessage.display "true"
End Sub<code basic></code>
A voir également:
- Insérer un lien hypertexte dans un mail envoyé par VBA
- Créer un lien pour partager des photos - Guide
- Insérer vidéo dans powerpoint - Guide
- Lien url - Guide
- Insérer un espace insécable dans word - Guide
- Insérer un tableau dans word - Guide
5 réponses
bonjour, il me semble que tu n'utilises pas la variable lien.
as-tu examiné le contenu de la variable corps?
as-tu examiné le contenu de la variable corps?
Bonjour,
merci pour la réponse.
J'ai modifié le code pour que le corps du message affiche bien le fichier créé mais pas moyen de faire en sorte que le mot "lien" soit sous forme de lien le reflet du fichier indiqué par csPath1 & Myname.
Merci
Laurent
Sub SendMailhyperlink()
Dim lien As String
Dim csPath1 As String
Dim Myname As String
Dim MonOutlook As Object
Dim MonMessage As Object
csPath1 = "P:\Finance Department\Finance_Transport\Test_PAS_TOUCHE_LAURENT\"
Myname = ("ANNEXE_BPOST_MINI_PACK_SCAN") & "_" & Sheets("MAIN MINI PACK SCAN").Range("C4") & "_" & Sheets("Annexe Transport").Range("L5") & "_" & Sheets("Annexe Transport").Range("M5") ' & "_" & Format(Date, "mmmm_yyyy")
lien = csPath1 & Myname
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.CreateItem(0)
MonMessage.BodyFormat = 2
corps = "<HTML><BODY>"
MonMessage.To = "xxx@xxx.com"
MonMessage.cc = ""
MonMessage.Subject = "Annexe facture"
corps = corps & "Bonjour,"
corps = corps & "<p>"
corps = corps & "<p> Ci-dessous le lien vers l'annexe qui a ?t? cr?e : "".</p>"
corps = corps & csPath1
corps = corps & Myname
lien = csPath1 & Myname
corps = corps & "<a href=""csPath1 & Myname"">lien</a></p>"
corps = corps & "</BODY></HTML>"
MonMessage.HTMLBody = corps
MonMessage.display "true"
End Sub
merci pour la réponse.
J'ai modifié le code pour que le corps du message affiche bien le fichier créé mais pas moyen de faire en sorte que le mot "lien" soit sous forme de lien le reflet du fichier indiqué par csPath1 & Myname.
Merci
Laurent
Sub SendMailhyperlink()
Dim lien As String
Dim csPath1 As String
Dim Myname As String
Dim MonOutlook As Object
Dim MonMessage As Object
csPath1 = "P:\Finance Department\Finance_Transport\Test_PAS_TOUCHE_LAURENT\"
Myname = ("ANNEXE_BPOST_MINI_PACK_SCAN") & "_" & Sheets("MAIN MINI PACK SCAN").Range("C4") & "_" & Sheets("Annexe Transport").Range("L5") & "_" & Sheets("Annexe Transport").Range("M5") ' & "_" & Format(Date, "mmmm_yyyy")
lien = csPath1 & Myname
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.CreateItem(0)
MonMessage.BodyFormat = 2
corps = "<HTML><BODY>"
MonMessage.To = "xxx@xxx.com"
MonMessage.cc = ""
MonMessage.Subject = "Annexe facture"
corps = corps & "Bonjour,"
corps = corps & "<p>"
corps = corps & "<p> Ci-dessous le lien vers l'annexe qui a ?t? cr?e : "".</p>"
corps = corps & csPath1
corps = corps & Myname
lien = csPath1 & Myname
corps = corps & "<a href=""csPath1 & Myname"">lien</a></p>"
corps = corps & "</BODY></HTML>"
MonMessage.HTMLBody = corps
MonMessage.display "true"
End Sub
peux-tu utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
que reçois-tu comme texte dans le mail?
je suggère que tu commences avec des programmes VBA plus simples.
que reçois-tu comme texte dans le mail?
je suggère que tu commences avec des programmes VBA plus simples.
Ho pardon, j'étais persuadé d'avoir utilisé l'onglet code….
voici ci-dessous ce qui s'affiche :
Bonjour,
Ci-dessous le lien vers l'annexe qui a été crée : ".
P:\Finance Department\Finance_Transport\Test_PAS_TOUCHE_LAURENT\ANNEXE_BPOST_MINI_PACK_SCAN_195103931_12_2019lien
voici ci-dessous ce qui s'affiche :
Bonjour,
Ci-dessous le lien vers l'annexe qui a été crée : ".
P:\Finance Department\Finance_Transport\Test_PAS_TOUCHE_LAURENT\ANNEXE_BPOST_MINI_PACK_SCAN_195103931_12_2019lien
Sub SendMailhyperlink()
Dim lien As String
Dim csPath1 As String
Dim Myname As String
Dim MonOutlook As Object
Dim MonMessage As Object
csPath1 = "P:\Finance Department\Finance_Transport\Test_PAS_TOUCHE_LAURENT\"
Myname = ("ANNEXE_BPOST_MINI_PACK_SCAN") & "_" & Sheets("MAIN MINI PACK SCAN").Range("C4") & "_" & Sheets("Annexe Transport").Range("L5") & "_" & Sheets("Annexe Transport").Range("M5") ' & "_" & Format(Date, "mmmm_yyyy")
lien = csPath1 & Myname
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.CreateItem(0)
MonMessage.BodyFormat = 2
corps = "<HTML><BODY>"
MonMessage.To = "xxx@xxx.com"
MonMessage.cc = ""
MonMessage.Subject = "Annexe facture"
corps = corps & "Bonjour,"
corps = corps & "<p>"
corps = corps & "<p> Ci-dessous le lien vers l'annexe qui a ?t? cr?e : "".</p>"
corps = corps & csPath1
corps = corps & Myname
lien = csPath1 & Myname
corps = corps & "<a href=""csPath1 & Myname"">lien</a></p>"
corps = corps & "</BODY></HTML>"
MonMessage.HTMLBody = corps
MonMessage.display "true"
End Sub
et quand tu cliques sur le lien, que vois-tu?
pour t'aider à comprendre ce que tu fais, je suggère de remplacer
par
que vois-tu quand tu exécutes cela?
pour t'aider à comprendre ce que tu fais, je suggère de remplacer
corps = corps & "<a href=""csPath1 & Myname"">lien</a></p>"
par
dim url as string url= "<a href=""csPath1 & Myname"">lien</a>" corps = corps & url & "</p>" msgbox url
que vois-tu quand tu exécutes cela?
Bonsoir,
Voici ce qui s'affiche lorsque j'ai remplacé la partie du code.

Voici ce qui s'affiche lorsque j'ai remplacé la partie du code.
Sub SendMailhyperlink()
Dim lien As String
Dim csPath1 As String
Dim Myname As String
Dim MonOutlook As Object
Dim MonMessage As Object
Dim url As String
csPath1 = "P:\Finance Department\Finance_Transport\Test_PAS_TOUCHE_LAURENT\"
Myname = ("ANNEXE_BPOST_MINI_PACK_SCAN") & "_" & Sheets("MAIN MINI PACK SCAN").Range("C4") & "_" & Sheets("Annexe Transport").Range("L5") & "_" & Sheets("Annexe Transport").Range("M5") ' & "_" & Format(Date, "mmmm_yyyy")
'lien = csPath1 & Myname
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.CreateItem(0)
MonMessage.BodyFormat = 2
corps = "<HTML><BODY>"
MonMessage.To = "xxx@xxx.com"
MonMessage.cc = ""
MonMessage.Subject = "Annexe facture"
corps = corps & "Bonjour,"
corps = corps & "<p>"
corps = corps & "<p> Ci-dessous le lien vers l'annexe qui a ?t? cr?e : "".</p>"
corps = corps & csPath1
corps = corps & Myname
'lien = csPath1 & Myname
'corps = corps & "<a href= lien & csPath1>""clique ici""</a></p>"
url = "<a href=""csPath1 & Myname"">lien</a>"
corps = corps & url & "</p>"
corps = corps & "</BODY></HTML>"
MsgBox url
MonMessage.HTMLBody = corps
MonMessage.Display "true"
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
Voilà j'ai finalement trouvé pour que tout fonctionne :-)
Voilà ce que cela donne avant que j'achève de modifier le code pour que le mail s'envoie automatiquement.
Ci-dessous le code, cela pourra servir.
Merci de ton aide !
Laurent

Voilà j'ai finalement trouvé pour que tout fonctionne :-)
Voilà ce que cela donne avant que j'achève de modifier le code pour que le mail s'envoie automatiquement.
Ci-dessous le code, cela pourra servir.
Merci de ton aide !
Laurent
Sub SendMailhyperlink()
Dim lien As String
Dim csPath1 As String
Dim Myname As String
Dim MonOutlook As Object
Dim MonMessage As Object
Dim url As String
csPath1 = "P:\Finance Department\Finance_Transport\Test_PAS_TOUCHE_LAURENT\"
Myname = ("ANNEXE_BPOST_MINI_PACK_SCAN") & "_" & Sheets("MAIN MINI PACK SCAN").Range("C4") & "_" & Sheets("Annexe Transport").Range("L5") & "_" & Sheets("Annexe Transport").Range("M5") & ".xlsm" ' & "_" & Format(Date, "mmmm_yyyy")
Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.CreateItem(0)
MonMessage.BodyFormat = 2
corps = "<HTML><BODY>"
MonMessage.To = "xxx@xxx.com"
MonMessage.Subject = "Annexe facture " & Myname
corps = corps & "Bonjour,"
corps = corps & "<p>"
corps = corps & "L'annexe ci-apr?s a ?t? cr?? : " & Myname
corps = corps & "<p>"
corps = corps & "Ci-dessous vous trouverez le lien pour y avoir directement acc?s."
corps = corps & "<p>"
lien = csPath1 & Myname
corps = corps & "<p>"
corps = corps & "<b><A HREF=""" & lien & """> lien </A></b>"
corps = corps & "<p>"
corps = corps & "Le fichier s'ouvrira sur votre page Annexe Finance."
corps = corps & "<p>"
corps = corps & "Bien ? vous,"
corps = corps & "<p>"
corps = corps & "Laurent,"
corps = corps & "</BODY></HTML>"
MonMessage.HTMLBody = corps
MonMessage.Display "true"