[VBA] Génération d'un PDF à partir d'une seule feuille puis envoi par mail
5 réponses
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).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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...
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...
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...
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
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.
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
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
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
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
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
m.To = "xxxx@yyyy.com"
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
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