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 33 34 35
| Sub envoi()
Dim nom As String, ol As New Outlook.Application, derlg As Integer
Dim olmail As MailItem, admail As String, messmail As String, i As Integer
'ci-dessous, on prend les mails dans une feuille
'derlg = Sheets("mails").Range("a" & Sheets("mails").Rows.Count).End(xlUp).Row
With Sheets("contrat")
.Select
'si le dossier ou tu veux garder le PDF est dans un sou-repertoire de ce fichier xlsm, admettons "ARCHIVES"
nom = ThisWorkbook.Path & "\" & "ARCHIVES" & "\" & .Range("E8") & .Range("B10") & ".pdf"
MsgBox nom
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
nom, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=True, _
OpenAfterPublish:=False
End With
messmail = "Exemple : ci-joint votre commande,..."
'ci-dessoue envoyer à tout le monde
'For i = 2 To derlg 'boucle du début à la fin de ta colonne des adresses mail
'admail = admail & Sheets("mails").Range("a" & i)
'If i = derlg Then Exit For
'admail = admail & "; "
'Next i
'si tu mets le mail en B17
admail = .Range("B17")
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = admail
.Subject = "exemple : commande effectuée" 'Sujet
.Body = messmail 'Corps du mail
.Attachments.Add nom
.Display '.Send 'On peut switcher entre .send et .display selon que l'on veut envoyer le mail (send) ou seulement le préparer et le vérifier(display)
End With
End Sub |
Partager