Insérer un lien dans un mail en VBA
Résolu
Villette54
Messages postés
300
Date d'inscription
Statut
Membre
Dernière intervention
-
Villette54 Messages postés 300 Date d'inscription Statut Membre Dernière intervention -
Villette54 Messages postés 300 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai besoin d'aide pour finaliser une macro.
C'est une simple macro pour envoyer mon fichier excel en pièce jointe, seulement j'aimerais ajouter dans le corps du texte de mon mail, un lien vers l'endroit où est enregistré ce fichier !
Actuellement, le lien s'établi mais il a besoin d'être validé par un clic à droite de celui-ci + Enter.
Ci-joint ma macro :
J'ai besoin d'aide pour finaliser une macro.
C'est une simple macro pour envoyer mon fichier excel en pièce jointe, seulement j'aimerais ajouter dans le corps du texte de mon mail, un lien vers l'endroit où est enregistré ce fichier !
Actuellement, le lien s'établi mais il a besoin d'être validé par un clic à droite de celui-ci + Enter.
Ci-joint ma macro :
Sub Button36_Click()
If MsgBox("Le formulaire est-il prêt à l'envoi ?", vbQuestion + vbYesNo, "Confirmation") = vbYes Then
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim ObjOutlook
Dim oBjMail
Dim pj As String
Dim Corps As String
Dim adresse As String
pj = "P:\RDP\Nouveaux RDP\" & "RDP " & [C18].Value & " du " & [C12].Value & ".xlsm"
ActiveWorkbook.SaveAs Filename:=pj, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Set ObjOutlook = CreateObject("outlook.application")
Set oBjMail = ObjOutlook.CreateItem(olMailItem)
If pj = "Faux" Then Exit Sub
If VarType(pj) = vbBoolean Then Exit Sub
Corps = "Bonjour," & vbCrLf & "<br>" _
& vbCrLf & "<br>" _
& "En pièce jointe le RDP du " & [C12].Value & vbCrLf & "<br>" _
& vbCrLf & "<br>" _
& "Vous le trouverez également enregistré à l'adresse ci-dessous" & vbCrLf & "<br>" _
& "file://" & Replace(pj, "\", "/") & "<br>" _
& vbCrLf & "<br>" _
& "Bien à vous,"
With oBjMail
.To = "...@..."
.Subject = "New RDP"
.Attachments.Add pj
.HTMLBody = ""
.BodyFormat = 2
.GetInspector.CommandBars.Item("Insert").Controls("Signature").Controls(1).Execute
.HTMLBody = Corps & oBjMail.HTMLBody
.Display
'.Send
End With
'MsgBox "Le mail a bien été envoyé !"
Else: MsgBox "Envoi annulé !"
End If
End Sub
A voir également:
- Insérer un lien dans un mail en VBA
- Créer un lien pour partager des photos - Guide
- Insérer une vidéo dans powerpoint - Guide
- Lien url - Guide
- Insérer un espace insécable dans word - Guide
- Insérer signature word - Guide
2 réponses
Bonjour,
Je suis toujours à la recherche d'une solution.
Merci
Je suis toujours à la recherche d'une solution.
Merci
Effectivement pour le moment le fichier est envoyé en pièce jointe,
Seulement celui-ci est assez conséquent et je préférerais éviter les copies.
C'est pourquoi je voudrais juste envoyer le lien et enlever la pj du mail.
Je bosse dans une entreprise ou le stockage des données est en réseau, le mail étant uniquement pour des destinataires internes la consultation des données ne sera pas un problème.
Seulement celui-ci est assez conséquent et je préférerais éviter les copies.
C'est pourquoi je voudrais juste envoyer le lien et enlever la pj du mail.
Je bosse dans une entreprise ou le stockage des données est en réseau, le mail étant uniquement pour des destinataires internes la consultation des données ne sera pas un problème.
OK, c'est parce que le 18/09 tu indiquais qu'il était sur ton PC.
La solution donnée en suivant le lien de ma première réponse fonctionne normalement pour tout type de liens hypertexte (adresse web, adresse e-mail, adresse d'un fichier sur un serveur,...)
Fais attention que toutes les machines appellent le serveur P:/, sinon tu devras passer par le nom du serveur.
La solution donnée en suivant le lien de ma première réponse fonctionne normalement pour tout type de liens hypertexte (adresse web, adresse e-mail, adresse d'un fichier sur un serveur,...)
Fais attention que toutes les machines appellent le serveur P:/, sinon tu devras passer par le nom du serveur.
Merci pour ton lien.
Mais je me rend compte que je me suis mal exprimé.
Je souhaite faire un lien "interne" (vers un document enregistré sur le pc.
Pas vers internet.