Création mail automatique
Bonjour
Je chercher à creer un mail depuis ma macro.... j'y suis arrivé mais il me manque 1 seul truc
gràce à un bout de code trouvé sur un forum j'ai réussi à faire ma liste de diffusion, le mail, y inserer le texte, les pièces jointes et la copie d'une plage de cellule.
Mais j'aimerai également mettre un liens hypertexte mais mes recherches semble m'indiquer qu'il faut écrire le contenu du corp du mail en HTML, hors en HTML, je n'ai pas réussi à inclure la plage de cellule.
Je suppose que c'est possible de mettre une plage de cellule et un lien hypertext dans le corp d'un mail... mais je n'ai pas réussi tout seul et je solicite votre aide.
Merci d'avance.
Sub mailing()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Application.Calculation = xlManual
fichierHEBDO = ActiveWorkbook.Name
Workbooks("Mise à jour des fichiers.xlsm").Activate
fichierMACRO = ActiveWorkbook.Name
Range("D2").Select
jour = ActiveCell.Value
Range("F4").Select
fp = ActiveCell.Value
Workbooks("Suivi annuel ADF-RP DIEM IDFO.xlsx").Activate
fichierSUIVI = ActiveWorkbook.Name
Set Plage = Sheets("photo hebdomadaire").Range("A1:L34")
Dim appOutlook As Outlook.Application
Set appOutlook = Outlook.Application
Dim MESSAGE As Outlook.MailItem
Dim objRecipient As Outlook.Recipient
Dim list As String, cellule As Range, nom As String
Workbooks(fichierMACRO).Activate
lmail = Range("D" & Rows.Count).End(xlUp).Row
Range("D" & lmail).Select
Do Until ActiveCell.Value = "mail"
If ActiveCell.Value = vide Then
ActiveCell.Cells(0).Select
Else
nom = ActiveCell.Value & "; "
list = list & nom
ActiveCell.Cells(0).Select
End If
Loop
Texte1 = "Mesdames, Messieurs," & vbCr & vbCr & "Veuillez trouver en pièces jointes, la vigie et l'évolution des ADF/RP de la DIEM IDF Ouest." & vbCr & vbCr & " Les fichiers sont accessibles sur le TEAMS : Vigie BEX Diem IDFO."
Texte2 = "Vous souhaitant bonne réception"
' Lance une session Microsoft Outlook
'PreparerOutlook appOutlook
' Crée un nouveau message
Set oMail = appOutlook.CreateItem(olMailItem)
Dim wordDoc As Object
With oMail
' Titre, Texte, Destinataires, Pièces jointes du message
.Display
.To = list
.Subject = "Vigie ADF-RP-FP DIEM Ouest du " & jour
' Corps du mail
Set wdDoc = oMail.GetInspector.WordEditor
Set Rng = wdDoc.Range(0, 0)
' Insertion avant la copie du tableau
Rng.InsertAfter Texte1 & vbNewLine 'introduction
'-------------------------------------------------------------------------
'ajout du titre tableau 1
Rng.InsertAfter vbNewLine 'titre tableau 1
'-------------------------------------------------------------------------
'ajout du tableau 1
Set Rng = Rng.Paragraphs.Add().Range 'on ajoute un nouveau paragraphe
Plage.Copy ' Copie du tableau 1
' collage du tableau
Rng.Paste: Rng.Move 1, 1
' pied de page
Rng.InsertAfter vbNewLine & Texte2
End With
Workbooks(fichierSUIVI).Save
Workbooks(fichierSUIVI).Close
cheSUIVI = "C:\Users\" & Environ("username") & "\GRDF\Vigie BEX Diem IDFO - Documents\ADF-RP\" & fichierSUIVI
Workbooks(fichierHEBDO).Save
Workbooks(fichierHEBDO).Close
cheHEBDO = "C:\Users\" & Environ("username") & "\GRDF\Vigie BEX Diem IDFO - Documents\ADF-RP\" & fichierHEBDO
With oMail
.Attachments.Add cheSUIVI
.Attachments.Add cheHEBDO
End With
If fp < 14 Then
MsgBox ("la Macro s'est correctement executée et le fichier FP a été mis à jour récement. à toi de jour")
Else
MsgBox ("la Macro s'est correctement executée. à toi de jour")
End If
Workbooks(fichierMACRO).Save
Workbooks(fichierMACRO).Close
End SubBonjour,
Je pense que vous devriez trouver votre bonheur dans l'un des codes de ce fichier
https://www.excel-pratique.com/fr/telechargements/utilitaires/pdf-email-vba-excel-no508
A+
Merci BrunoM45
Je vais regarder ça de plus près mais ça à l'air d'être exactement ça que je cherche.
Je reviendrais poster ici si je suis trop *** pour l'adapter à mes besoins.