Solo_Wing75
XLDnaute Nouveau
Bonjour à tous,
Tous d'abord, je tenais à remercier tous les contributeurs du forum qui m'ont souvent sorti de la galère
Alors voilà, je vous expose mon problème :
J'ai crée un code VBA qui vise à envoyer l'onglet actif en PDF.
J'essaye de le modifier, de sorte à envoyer dans un seul fichier PDF l'onglet actif + un onglet prédéfini.
Pour vous donner une idée, l'onglet actif comprend des tableaux à destination d'une personne en particulier, et l'onglet prédéfini une sorte de notice pour lire les tableaux.
J'aimerais donc utiliser la macro pour envoyer l'onglet actif à son destinataire, mais toujours avec la notice qui est dans un autre onglet du workbook.
A date, la macro fonctionne pour envoyer l'onglet actif uniquement, mais lorsque j'essaye d'ajouter l'onglet prédéfini, cela ne fonctionne pas.
Merci d'avance pour votre aide !
Ci-après la macro :
Tous d'abord, je tenais à remercier tous les contributeurs du forum qui m'ont souvent sorti de la galère
Alors voilà, je vous expose mon problème :
J'ai crée un code VBA qui vise à envoyer l'onglet actif en PDF.
J'essaye de le modifier, de sorte à envoyer dans un seul fichier PDF l'onglet actif + un onglet prédéfini.
Pour vous donner une idée, l'onglet actif comprend des tableaux à destination d'une personne en particulier, et l'onglet prédéfini une sorte de notice pour lire les tableaux.
J'aimerais donc utiliser la macro pour envoyer l'onglet actif à son destinataire, mais toujours avec la notice qui est dans un autre onglet du workbook.
A date, la macro fonctionne pour envoyer l'onglet actif uniquement, mais lorsque j'essaye d'ajouter l'onglet prédéfini, cela ne fonctionne pas.
Merci d'avance pour votre aide !
Ci-après la macro :
VB:
Sub mail_2()
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim Destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Dim OutApp As Object
Dim OutMail As Object
Dim S As Shape
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Set Sourcewb = ActiveWorkbook
'Copie la feuille active comme nouvelle feuille
Sheets(Array(ActiveSheet.Name,"RULES").Copy
Set Destwb = ActiveWorkbook
'Désactiver fenêtre de compatibilité
Application.DisplayAlerts = False
'----------------------------------------------------------------------------
'Sauvegarde la nouvelle feuille/L'envoie par mail/La supprime
'----------------------------------------------------------------------------
TempFilePath = Environ$("temp") & "\"
TempFileName = ActiveSheet.Name
Set OutApp = CreateObject("outlook.application")
Set OutMail = OutApp.CreateItem(0)
With Destwb
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=TempFilePath & TempFileName & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, ignoreprintareas:=False, openafterpublish:=False ' sauvegarde du fichier au format pdf
On Error Resume Next
With OutMail
.to = Range("T2").Value & ";" & Range("U2").Value & ";" & Range("V2").Value & ";" & Range("W2").Value
.CC = ""
.BCC = ""
.Subject = "Subject"
.Attachments.Add TempFilePath & TempFileName & ".pdf"
.Body = "Dear All," & vbCrLf & "Please find attached your Subject." & vbCrLf & "Kind regards"
'.display 'ou alors utiliser
.Send 'pour envoi
End With
On Error GoTo 0
.Close savechanges:=False
End With
'Effacer le fichier envoyé
Kill TempFilePath & TempFileName & ".pdf"
Set OutMail = Nothing
Set OutApp = Nothing
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub