Bonjour,
Je mets en place une macro pour envoyer à partir d'un tableur un mail:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| Sub MailODJ()
Dim LeMail As Outlook.Application 'Variant
Dim Onglet As Worksheet
Application.ScreenUpdating = False 'désactivation de l'affichage écran
Application.Calculation = xlCalculationManual 'désactivation calcul des formule automatique (pour gagner en vitesse de calcul
CELSUJET = 3
CELDEST = 2
CELCORPS = 4
ligne = 2
Set Onglet = Worksheets("Message ordre du jour")
'MsgBox Onglet
PJ = Application.GetOpenFilename(FileFilter:="Fichiers Excel (*.xl*), *.xl*", Title:="Selection du fichier")
If PJ = False Then Exit Sub 'Si fermeture de la boite de dialogue arréter la macro
Set LeMail = CreateObject("Outlook.application")
With LeMail.CreateItem(olMailItem)
.Subject = Onglet.Cells(ligne, CELSUJET) 'sujet du mail
.To = Onglet.Cells(ligne, CELDEST) 'destinataire
'.CC =
.Body = Onglet.Cells(ligne, CELCORPS) & "file:\\....."
.display 'affiche le mail avant envoi
.Attachments.Add (PJ)
End With
'End With
Application.Calculation = xlCalculationAutomatic 'réactivation du calcul des formules automatique (pour gagner en vitesse de calcule)
Application.ScreenUpdating = True 'réactivation de l'affichage écran
End Sub |
Je rencontre 2 problèmes:
1- Je voudrais pouvoir insérer un lien hypertexte dans le mail généré par le code. dans mon code actuel si il y a un espace à l’intérieur mon lien ne prends qu'une partie du texte (ex file:\\test\bureau perso), je souhaiterais également pouvoir associer un lien a un mot plutôt que d'avoir tous le chemin du lien visible:
J'ai réussis en cherchant un long moment une solution via .HTMLBody mais le problème est que dans mon
.Body = Onglet.Cells(ligne, CELCORPS) & "file:\\....."
Le contenu de ma cellule de départ visé contient l’ensemble du corps du mail et quand je asse en .HTMLBODY cela me fait un gros bloc de texte sans respecter les saut à la ligne (en plus du changement de police.
2- malgré la présence du .display la signature par défaut des mail n'apparait pas lors de l'ouverture avant envoi du mail. Faut il rajouter quelque chose pour que cela prenne la signature de mail par défaut ?
Si vous avez des idées je suis preneur.
Bonne journée et merci par avance
Partager