VBA - Envoyer l'onglet actif + un autre en pdf

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 :


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
 
Bonjour Solo_Wing75, le forum

Ce fil pourrait d'aider :
Il montre comment mettre plusieurs onglets dans un seul pdf. (voir post 5)

Sinon un fichier pourrait aider à la résolution de ton problème.

@Phil69970
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
386
Réponses
4
Affichages
360
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
635
Réponses
2
Affichages
717
Réponses
2
Affichages
403
Réponses
3
Affichages
534
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
76
Retour