Bonjour,

Je mets en place une macro pour envoyer à partir d'un tableur un mail:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
.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