J'aimerais enregistrer un document Word (2010) de 120 pages en un document PDF par page. Donc, 120 documents PDF.
Je sais qu'il est possible d'enregistrer via Word mon document en PDF et de sélectionner une seule page, mais la procédure est assez longue à faire et il faudrait que je la refasse encore et encore pour un total de 120 fois!
S'il vous plait, dites moi qu'il existe un programme qui peu enregistre un document Word en plusieurs fichiers PDF!
Merci en avance!
A voir également:
Enregistrer un document word en plusieurs pdf
Enregistrer word en pdf page par page - Meilleures réponses
Enregistrer publipostage en pdf - Meilleures réponses
Oui, il y a bien une solution, mais helas.. payante..
Cela peut se faire avec Acrobat "Professionnel"
Apres avoir fait un PDF complet du document :
Dans le menu "Document/extraire des pages" il faut donner la sequence (de 1 a 120) et cocher la case "extraire les pages sous forme de fichiers distincts".
Une autre solution consisterait à passer par une macro. Vous pouvez essayer la solution suivante :
Sub ExportPDF()
Dim NbPage As Integer
Application.ScreenUpdating = False
NbPage = ActiveDocument.Windows(1).Panes(1).Pages.Count 'Compte le nombre de page dans le document
'Dans cette section, modifier le paramètre "OutputFileName" pour changer le répertoire de sortie.
'Il est important de laisser la variable I dans le nom du fichier pour garder un numéro de chrono.
For I = 1 To NbPage
Pour faire des pdf distincts, tu n,aura pas d'autre choix que de le répéter 120 fois, mais
PDF Creator a une option de Enregistrement automatique, une fois le dossier détermine, tu fais seulement "imprimer" et il ne te demande plus ou l'enregistrer ou de donner un nom, ce qui accéléré le processus.
Bonjour,
pdf creator, peut être, je n'ai jamais fais 120 pages, mais une dixaine et ça fonctionnait très bien.
pdf creator est très bien pour crée des pdf a partir de n'importe quoi, le logiciel agit comme une imprimante, une fois installé, tu fais imprimer et tu choisi pdf creator et se mets a l'oeuvre, tu peux meme le proteger par mot de passe interdire l'impression , copie etc.
Déjà, je suis désolé de ressortir un vieux topic, mais j'avoue, je n'ai pas trouvé meilleur code vba qu'ici !
Voilà, j'explique mon problème :
Je dois faire un publipostage avec une base de données sous Excel (Société, adresse, n° de contrat, etc...)
Je lance le publipostage via Word et mes 500 courriers tombent.
L'idée est d'envoyer par mail aux 500 destinataires leurs fichiers pdf.
Grâce à ton code VBA Syzygy, j'arrive à scindéer en 500 fichiers PDF et il me reste plus qu'à les envoyer par mail (je précise que j'utilise zimbra donc je suis un peu limité question publipostage.... ce n'est pas moi qui décide mais mon taf...)
Seulement, me retrouver avec 500 fichiers pdf intitulé de 1.pdf, 2.pdf, jusqu'à 500, difficile de retouver mes petits !
Ma question est : "au lieu d'intituler les fichiers 1.pdf, etc.... peut-on les intituler par N° de contrat ?"
Je te remercie de ta réponse. Cependant, elle ne fonctionne pas et je pense savoir pourquoi : il n'y a pas de lien avec Excel dans tout le code.
Le code se fait à partir du publipostage des 500 pages et non d'Excel...
Voici le code :
Sub ExportPDF()
Dim NbPage As Integer
Application.ScreenUpdating = False
NbPage = ActiveDocument.Windows(1).Panes(1).Pages.Count 'Compte le nombre de page dans le document
'Dans cette section, modifier le paramètre "OutputFileName" pour changer le répertoire de sortie.
'Il est important de laisser la variable I dans le nom du fichier pour garder un numéro de chrono.
For i = 1 To NbPage
Au temps pour moi, je n'avais pas bien regardé et intégré le code Word qui est effectivement plus limité.
Essayes de reposer ta question sur ce forum, avec un sujet à toi, qui verra un spécialiste Word te répondre.
Klimero44, quand tu dis "c'est fait" tu parles de ton post du dessus avec toutes les lignes de code? Car ça ne marche toujours pas pour moi et après comparaison, il me semble que tu as exactement collé la même programmation que Syzygy (mis à part le chemin d'accès au dossier où tu vas enregistrer qui change), du coup, sauf erreur de ma part, il n'y a pas plus de lien vers Excel dans tes codes que dans les précédents et donc j'ai des messages d'erreur vu que Word ne trouve pas les champs / données à récupérer pour nommer les fichiers
(pour ma part votre Macro me permet de générer des e-billets dont j'édite et exporte d'abord les codes depuis un logiciel de billetterie, ensuite via le publipostage de Word dans lequel j'ai créé une matrice / un modèle et ajouté un add-on qui sait générer du code-barre, je génère les e-billets que votre macro scinde en autant de pdf. Il faut d'ailleurs que je trouve comment intégrer la fonction de publipostage dans votre macro, en amont de la création des PDF, pour que je n'ai plus qu'un clic à faire pour générer les e-billets).
Et donc concernant le nom des PDF, j'aimerais que soient repris dans mon tableau le nom de mon client et le numéro du billet par exemple, car pour l'instant je sais juste les nommer "1","2","3"... Quelle est la solution du coup?
En fait sur une autre page du Forum (autre sujet) Amenesh délivre une macro pour nommer les fichiers en reprenant des champs de fusion. A ce que je vois, dans la programmation il utilise des noms de champs "nom" ... pour nommer le fichier, et juste avant il définit genre nom= .... (et là le codage de comment et où aller chercher l'info):
Sub Macro()
'
'définit "nom" en fonction de la valeur du champ de la 2ème colonne du tableau excel
nom = ActiveDocument.MailMerge.DataSource.DataFields(2).Value
idem pour "prénom" en fonction de la valeur de la colonne n°3
prénom = ActiveDocument.MailMerge.DataSource.DataFields(3).Value
idem pour "prénom" en fonction de la valeur de la colonne n°6
consultation_du = ActiveDocument.MailMerge.DataSource.DataFields(6).Value