XL 2016 Envoyer PDF depuis Excel

benito87

XLDnaute Nouveau
Bonjour,

J'espère que vous allez bien.

je suis assez jeune dans le VBA et je cherche a modifier un code que j'ai trouvé mais je sèche un peu.

voila le code:

Sub EnvoyerPDF()
Call Envoyer_PDF("EnvoyerCourriel")
End Sub


Function Envoyer_PDF(Optional action As String = "EnregistrerSeulement") As Boolean ' Copies sheets into new PDF file for e-mailing
Dim CetteFeuille As String, CeFichier As String, NomRépertoire As String
Dim EnrSous As String

Application.ScreenUpdating = False

' Obtention du nom de sauvegarde du fichier
CetteFeuille = ActiveSheet.Name
CeFichier = ActiveWorkbook.Name
NomRépertoire = ActiveWorkbook.Path
EnrSous = NomRépertoire & "\" & CetteFeuille & ".pdf"

'Définition de la qualité d'impression
On Error Resume Next
ActiveSheet.PageSetup.PrintQuality = 600
Err.Clear
On Error GoTo 0

' Explique à l'utilisateur comment envoyer le fichier
On Error GoTo ErreurRefLib
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=EnrSous, Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=True
On Error GoTo 0

' Création du courriel
If action = "EnvoyerCourriel" Then
On Error GoTo EnregistrerSeulement
Set olApp = CreateObject("Outlook.Application")
Set olEmail = olApp.CreateItem(olMailItem)

With olEmail
.Subject = CetteFeuille & ".pdf" & "Prevision "
.Attachments.Add EnrSous
.Display
End With

On Error GoTo 0
GoTo FinMacro
End If

EnregistrerSeulement:
MsgBox "Une copie de cette feuille a été sauvegardée avec succès en format .pdf " & vbCrLf & vbCrLf & EnrSous & _
" Révisez le document .pdf. Si le document ne s'affiche pas correctement, ajustez vos paramètres d'impression et ré-essayez."

Envoyer_PDF = True
GoTo FinMacro

ErreurRefLib:
MsgBox "Impossible de sauvegarder en pdf. Référence introuvable ou manquante."
Envoyer_PDF = False
GoTo FinMacro

FinMacro:
End Function

J'ai voulu rajouter & "Prevision " à une ligne mais il me sort une erreur maintenant ( voir image Message Excel).

je voudrais aussi rajouter dans le titre de l'email et le nom du PDF plus d'information qui se trouve sur des cellules dans chaque feuilles (voir image Information sur l'onglet). Cela est-il possible de le faire ?
information:
-B1
-E1
-J1
-J2

En outre, je ne trouve aucune explication sur la manière de modifier le code de sélection de la zone qui doit apparaître sous forme de fichier PDF. Je ne veux insérer que la zone A1 à T24 de la feuille en format paysage. Je ne peux pas passer par l'aperçu des sauts de page.

Peut-on mettre les e-mails automatiquement sur l'email selon un cellule dans ce fichier? exemple onglet "information" cellule -> C3.

J'espère que vous allez pouvoir de donner un coup de main et m'aiguiller sur des formes.
J'espère que j'ai été assez claire

Connaissez-vous des formations gratuites sur le codage VBA. Je souhaiterais apprendre cela.

cordialement,
 

Pièces jointes

  • Message excel.JPG
    Message excel.JPG
    24.4 KB · Affichages: 23
  • information sur l'onglet.JPG
    information sur l'onglet.JPG
    16.5 KB · Affichages: 21

benito87

XLDnaute Nouveau
Hello,

J'ai essayé de modifier le code et je ne comprends pas pourquoi cela bloque.

ma macro-> Sub TES33TBPRDB_Selection_Range_To_PDF_And_Create_Mail()

Sur l'onglet test, quand je lance la Macro ci-dessus, il me dit qu'il y a une erreur.

Merci encore pour ton aide.
 

Pièces jointes

  • test de PDF-Examples.xlsm
    116 KB · Affichages: 10

Discussions similaires

Réponses
2
Affichages
201

Statistiques des forums

Discussions
312 104
Messages
2 085 335
Membres
102 865
dernier inscrit
FreyaSalander