Bonjour,
J'ai construit un tableau croisé dynamique avec un filtre qui liste différents secteurs. A côté j'ai rajouté une cellule avec formule pour associer le secteur à une adresse mail.
Mon objectif est d'envoyer le tableau en PJ pdf à chaque destinataire. J'y parviens sans problème mais je suis obligé manuellement de sélectionner mes secteurs un à un dans le filtre du tableau.
Puis-je automatiser cette manip en vba ?
Je vous transmets le code VBA sur lequel j'ai travaillé.
D'avance merci à tous !
Sub pdf()
Dim olApp As Outlook.Application
Dim olMail As MailItem
Dim CurFile As String
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)
If Range("B1") <> "" Then
CurFile = ThisWorkbook.Path & "\" & "Interventions " & Range("B1").Value & ".Pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CurFile, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
With olMail
.To = Range("D1").Value
.Subject = "MAIL AUTO - 02-2020" & " " & Range("B1").Value
.Body = "Bonjour," & Chr(10) & Chr(10)
.Attachments.Add CurFile
.Display
.Send
End With
Set olMail = Nothing
Set olApp = Nothing
Else
With ActiveSheet
.PrintOut
End With
End If
End Sub
J'ai construit un tableau croisé dynamique avec un filtre qui liste différents secteurs. A côté j'ai rajouté une cellule avec formule pour associer le secteur à une adresse mail.
Mon objectif est d'envoyer le tableau en PJ pdf à chaque destinataire. J'y parviens sans problème mais je suis obligé manuellement de sélectionner mes secteurs un à un dans le filtre du tableau.
Puis-je automatiser cette manip en vba ?
Je vous transmets le code VBA sur lequel j'ai travaillé.
D'avance merci à tous !
Sub pdf()
Dim olApp As Outlook.Application
Dim olMail As MailItem
Dim CurFile As String
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)
If Range("B1") <> "" Then
CurFile = ThisWorkbook.Path & "\" & "Interventions " & Range("B1").Value & ".Pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CurFile, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
With olMail
.To = Range("D1").Value
.Subject = "MAIL AUTO - 02-2020" & " " & Range("B1").Value
.Body = "Bonjour," & Chr(10) & Chr(10)
.Attachments.Add CurFile
.Display
.Send
End With
Set olMail = Nothing
Set olApp = Nothing
Else
With ActiveSheet
.PrintOut
End With
End If
End Sub