Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] Génération d'un PDF à partir d'une seule feuille puis envoi par mail

5 réponses
Avatar
HD
Bonjour,

J'ai Excel 2007, je pensais utiliser la génération de mail avec fichiers PDF
en pièce jointe d'Excel 2007... seulement déjà manuellement lorsque je
clique sur bouton MS / Envoyer / Envoyer comme pièce jointe au format PDF
j'obtien alors un mail mais avec le PDF de l'ensemble des feuilles du
classeur...

Est il possible en VBA de générer un mail avec seulement la feuille qui
m'intéresse en pièce jointe ? Et ce en utilisant les fonctionnalités d'Excel
2007 (et supérieur).

Il est possible de passer par un script utilisant d'autres logiciels (PDF
Creator ou autres) mais je préférerais utiliser les fonctionnalités d'Excel
car la génération du PDF est bien plus rapide (en effet en VBA j'aurai une
rafale de mail avec PDF à créer et envoyer).

Merci d'avance pour votre aide,

Cordialement,

@+
HD

5 réponses

Avatar
MichD
Bonjour,

Tu fais un clic droit sur l'onglet à expédier,
Tu choisis la commande "Déplacer - Copier"
Dans la fenêtre ouvrante, tu coches dans le bas
de la fenêtre la case "Créer une copie" et dans la
liste déroulante du haut de la fenêtre, tu sélectionnes
"Nouveau classeur"

Dans le nouveau classeur, Fichier / envoyer vers / "envoyer en tant que
fichier Pdf.

Est-ce qu'une macro est vraiment nécessaire? L'enregistreur
de macro devrait te donner l'essentiel du code...


MichD
---------------------------------------------------------------
Avatar
MichD
En complément, si tu as besoin d'un coup de pouce pour la macro,
regarde à cette adresse : http://www.rondebruin.nl/win/s5/pdf.htm

MichD
---------------------------------------------------------------
Avatar
HD
Bonjour MichD,

Tu fais un clic droit sur l'onglet à expédier,
Tu choisis la commande "Déplacer - Copier"
Dans la fenêtre ouvrante, tu coches dans le bas
de la fenêtre la case "Créer une copie" et dans la
liste déroulante du haut de la fenêtre, tu sélectionnes
"Nouveau classeur" Dans le nouveau classeur, Fichier / envoyer vers /
"envoyer en tant que fichier Pdf.


Arfff... effectivement je n'avai pas pensé à cette solution toute simple...
lol

Est-ce qu'une macro est vraiment nécessaire ?


Cela sera nécessaire car je vais devoir mensuellement importer des données
en rafale et il faudra que les PDF de chaque destinataire soit automatique
car au début j'aurai une dizaine de PDF mais à terme peut être pas loin
d'une centaine. Et je devrai ensuite voir pour automatiser le mail avec
remplissage des adresses mails et envoi automatique au destinataire.

@+
HD
Avatar
HD
En complément, si tu as besoin d'un coup de pouce pour la macro,
regarde à cette adresse : http://www.rondebruin.nl/win/s5/pdf.htm


Un grand MERCI pour le lien et les réponses.

@+
HD
Avatar
HD
Je pense passer par l'export PDF Excel puis par l'envoi via la messagerie
Outlook. Pour les personnes qui seraient intéressées :

Sub Export_et_envoiPDF()
Dim AWkb As String
Dim o As Object
Dim m As Object

Application.EnableEvents = False
Application.DisplayAlerts = False
Sheets("Graph").Select
Sheets("Graph").Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs "C:Tmptmp.xlsb", 50, , , True
AWkb = ActiveWorkbook.Name
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"c:TmpAC.pdf", Quality:=xlQualityStandard, IncludeDocProperties:=
_
False, IgnorePrintAreas:úlse, OpenAfterPublish:úlse
DoEvents
Workbooks(AWkb).Close
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.DisplayAlerts = True
Set o = CreateObject("Outlook.Application")
Set m = o.CreateItem(0)

m.To = ""
m.Subject = "Tableaux de bord"
m.Body = "Ci-joint les tableaux de bord"
m.Attachments.Add "C:TmpAC.pdf"
'Repeat this line if there are more Attachments
m.Display
'm.Send 'If you want to just send it
End Sub

@+
HD