Insérer un lien hypertext dans le body d'un mail piloté par VBA

Takoda

XLDnaute Nouveau
Bonjour à tous.

Voilà, j'ai un peu cherché, et j'ai trouvé des tas de moyens d'insérer des liens dans des cellules ou de lancer un mail via un lien, mais rien pour mon problème... Je l'explique:

Sur ma feuille XL, plein de cellules à remplir, des menus déroulants et des cases à cocher.
L'utilisateur rempli la feuille, puis il appuie sur le bouton "envoyer".

Mon code derrière le bouton, reprend certaines informations, pour les coller en ligne, dans un autre tableau, sur un autre classeur, revient sur la page source, et enregistre une copie. Ensuite, avec la partie de code ci-dessous, il créer un e-mail avec outlook, lui donne un titre avec la variable qui va bien, choisi le destinataire, insère la copie sauvegardée en PJ, et rédige même le mail. Sur la fin de ce mail, un chemin d'accès, vers le classeur "synthèse" où la dernière ligne résume le formulaire en PJ.

Mon problème: Je souhaite que ce chemin d'accès soit un lien hypertexte, et que le lecteur du mail n'ait qu'à cliquer dessus pour que le fichier ciblé s'ouvre. En gros, que mon code, sélectionne le texte du chemin, et fasse insérer>lien hypertexte.

Voilà, à dire, ça parait tout bête, mais je bloque vraiment.
Si quelqu'un a la solution... Je le remercie d'avance pour son aide !

le dit code pour le mail :

'Envoyer par e-mail
Dim myApp
Dim myItem
Dim olMailItem
Set myApp = CreateObject("Outlook.Application")
Set myItem = myApp.CreateItem(olMailItem)
myItem.Subject = "VALIDATION DE LA " & messagefin
myItem.Body = " Bonjour " & rb & "," & Chr(10) & "merci de bien vouloir valider la " & messagefin & ". Vous trouverez le document en PJ. Après vérification, veuillez vous rendre sur le fichier DA_index, et inscrire votre trigramme dans la colonne 'VALIDATION', sur la ligne appropriée. " & Chr(10) & "T:\TEMP LPM\JEF\03-ACHATS\SYST.DEMANDE D'ACHAT\DA_index.xls"
myItem.Attachments.Add ThisWorkbook.Path & "\" & ThisWorkbook.Name
myItem.to = adrb
myItem.Display
myItem.Send
 

david84

XLDnaute Barbatruc
Re : Insérer un lien hypertext dans le body d'un mail piloté par VBA

Bonjour,
un essai ci-joint à partir de ton code remanié :
Code:
Sub EnvoiMailAvecLienHypertext()
Dim myApp
 Dim myItem
 Dim olMailItem
 
 On Error Resume Next
 Set myApp = GetObject(, "Outlook.Application")
 If Err.Number <> 0 Then
    Set myApp = CreateObject("Outlook.Application")
    Err.Clear
 End If
 
 Set myItem = myApp.CreateItem(olMailItem)
 myItem.Subject = "VALIDATION DE LA " & messagefin
 myItem.Body = " Bonjour " & rb & "," & Chr(10) & "merci de bien vouloir valider la " & _
 messagefin & ". Vous trouverez le document en PJ." & vbCrLf & _
 "Après vérification, veuillez vous rendre sur le fichier DA_index, " & _
 "et inscrire votre trigramme dans la colonne 'VALIDATION', sur la ligne appropriée." & vbCrLf & _
"file:\\TEMP\LPM\JEF\03-ACHATS\SYST.DEMANDE_ACHAT\DA_index.xls"
 myItem.To = adrb
 myItem.display
 'myItem.Send
End Sub
Fais bien attention à l'écriture de ton chemin de fichier : j'ai enlevé l'apostrophe et remplacé les espaces par des underscores ("_").
Chez moi le lien est créé dans le message puisqu'il apparait en bleu et souligné (Ctrl+clic pour suivre le lien quand tu pointes dessus) mais je ne l'ai pas testé (peut-être sera-t-il nécessaire de remplacer les antislash par des slash en fonction du type de lien créé).
A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 491
Messages
2 110 177
Membres
110 690
dernier inscrit
Zeppelin