A voir également:
- Enregistrement auto publipostage nom champ
- Publipostage mail - Accueil - Word
- Publipostage powerpoint - Forum Powerpoint
- Le nom du champ de tableau croisé dynamique n'est pas valide - Forum Excel
- Trouver un numéro de portable avec un nom ✓ - Forum Mobile
- Téléchargez cette image pour trouver le nom du fichier. il correspond au nom de cette loutre. comment s'appelle-t-elle ? - Forum Windows
5 réponses
Bonjour, (2 ans après)
Je suis tombé sur ce poste au fil de recherche dans le même domaine (publipostage etc), du coup, voici ma participation :
A défaut de pouvoir tout faire automatiquement, il est possible de procéder comme suit :
ouvrir le fichier word pour le publipostage
utiliser la macro suivante pour enregistrer automatiquement au nom désiré
Utiliser les flèches du publipostage pour passer à la 2eme ligne du tableau excel, et cliquer de nouveau sur la macro, ainsi de suite, c'est long mais il n'y a pas besoin de nommer chaque fichier à la main :
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
ChangeFileOpenDirectory "R:\CONSULTATIONS EN ATTENTE DE CORRECTION"
ActiveDocument.SaveAs FileName:=nom & " " & prénom & " " & consultation_du & ".doc", FileFormat:=wdFormatDocument
End Sub
Je suis tombé sur ce poste au fil de recherche dans le même domaine (publipostage etc), du coup, voici ma participation :
A défaut de pouvoir tout faire automatiquement, il est possible de procéder comme suit :
ouvrir le fichier word pour le publipostage
utiliser la macro suivante pour enregistrer automatiquement au nom désiré
Utiliser les flèches du publipostage pour passer à la 2eme ligne du tableau excel, et cliquer de nouveau sur la macro, ainsi de suite, c'est long mais il n'y a pas besoin de nommer chaque fichier à la main :
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
ChangeFileOpenDirectory "R:\CONSULTATIONS EN ATTENTE DE CORRECTION"
ActiveDocument.SaveAs FileName:=nom & " " & prénom & " " & consultation_du & ".doc", FileFormat:=wdFormatDocument
End Sub
beru002
Messages postés
497
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
28 janvier 2016
27
Modifié par beru002 le 6/05/2013 à 12:46
Modifié par beru002 le 6/05/2013 à 12:46
Même pas deux ans après:
Donc, pour n'avoir à cliquer qu'une seule fois, on va avoir besoin de deux macros. A la première, fournie par Amenesh, on rajoute à la fin, avant le "End Sub":
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord
Ce qui permet de passer à l'entrée suivante.
Ensuite, il suffit de créer une autre macro qui va lancer celle-ci un nombre de fois désiré (ici, 95 fois):
Sub Lancer_plusieurs_fois()
Dim Compteur As Long
For Compteur = 1 To 95
MA_MACRO
Next Compteur
End Sub
Pensez à remplacer "MA_MACRO" par le nom que vous avez donné à la première macro et changer "1 To ..." avec le nombre d'entrées que vous avez.
Il vous suffit ensuite de lancer cette deuxième macro, et le tour est joué!!
Notez tout de même que si vous avez deux entrées où apparaîtront le même nom, prénom et consultation_du, vous n'aurez que la deuxième, puisque la première sera écrasée automatiquement... (donner un numéro de ligne sous excel avant publipostage permet de garder toutes les entrées, même s'il y a des doublons)
Notez aussi de bien vous positionner sur l'entrée numéro 1, avant de lancer la macro... je viens de me faire avoir, à enregistrer 95 fois la dernière entrée...
En espérant que ça servira à beaucoup d'entre vous!!!
PS: pour éviter toute confusion, la deuxième macro, je l'ai trouvée ici: https://www.generation-nt.com/reponses/repeter-macro-x-fois-entraide-611151.html
Donc, pour n'avoir à cliquer qu'une seule fois, on va avoir besoin de deux macros. A la première, fournie par Amenesh, on rajoute à la fin, avant le "End Sub":
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord
Ce qui permet de passer à l'entrée suivante.
Ensuite, il suffit de créer une autre macro qui va lancer celle-ci un nombre de fois désiré (ici, 95 fois):
Sub Lancer_plusieurs_fois()
Dim Compteur As Long
For Compteur = 1 To 95
MA_MACRO
Next Compteur
End Sub
Pensez à remplacer "MA_MACRO" par le nom que vous avez donné à la première macro et changer "1 To ..." avec le nombre d'entrées que vous avez.
Il vous suffit ensuite de lancer cette deuxième macro, et le tour est joué!!
Notez tout de même que si vous avez deux entrées où apparaîtront le même nom, prénom et consultation_du, vous n'aurez que la deuxième, puisque la première sera écrasée automatiquement... (donner un numéro de ligne sous excel avant publipostage permet de garder toutes les entrées, même s'il y a des doublons)
Notez aussi de bien vous positionner sur l'entrée numéro 1, avant de lancer la macro... je viens de me faire avoir, à enregistrer 95 fois la dernière entrée...
En espérant que ça servira à beaucoup d'entre vous!!!
PS: pour éviter toute confusion, la deuxième macro, je l'ai trouvée ici: https://www.generation-nt.com/reponses/repeter-macro-x-fois-entraide-611151.html
AG94
Messages postés
16
Date d'inscription
jeudi 10 novembre 2016
Statut
Membre
Dernière intervention
6 septembre 2017
10 nov. 2016 à 16:43
10 nov. 2016 à 16:43
Dans la page qui suit il y a un codage où tu n'as pas besoin d'entrer le nombre de pages désiré: en fait la macro compte le nombre de page automatiquement puis crée autant de fichiers qu'il y a de pages.
https://forums.commentcamarche.net/forum/affich-22687992-enregistrer-un-doc-word-en-pdf-individuel#p34081359
https://forums.commentcamarche.net/forum/affich-22687992-enregistrer-un-doc-word-en-pdf-individuel#p34081359
Sloubi76
Messages postés
1366
Date d'inscription
dimanche 11 mai 2008
Statut
Membre
Dernière intervention
10 décembre 2016
135
18 oct. 2009 à 21:02
18 oct. 2009 à 21:02
Bonsoir,
C'est possible en utilisant l'option " fusion vers un fichier".Celui ci contiendra l'ensemble des éléments publipostés.
@ +
C'est possible en utilisant l'option " fusion vers un fichier".Celui ci contiendra l'ensemble des éléments publipostés.
@ +
Hessu
Messages postés
2
Date d'inscription
dimanche 18 octobre 2009
Statut
Membre
Dernière intervention
19 octobre 2009
19 oct. 2009 à 10:06
19 oct. 2009 à 10:06
Bonjour
Merci de votre réponse
l'impression d'un fichier publiposté avec un fichier de données contenant n lignes ne donnera qu'un seul fichier avec n pages
J'ai besoin d'enregistrer " automatiquement" chaque page publipostée avec le nom d'un des champs présent le fichier de données
Avez-vous une idée
Merci d'avance
Merci de votre réponse
l'impression d'un fichier publiposté avec un fichier de données contenant n lignes ne donnera qu'un seul fichier avec n pages
J'ai besoin d'enregistrer " automatiquement" chaque page publipostée avec le nom d'un des champs présent le fichier de données
Avez-vous une idée
Merci d'avance
AG94
Messages postés
16
Date d'inscription
jeudi 10 novembre 2016
Statut
Membre
Dernière intervention
6 septembre 2017
10 nov. 2016 à 16:37
10 nov. 2016 à 16:37
regarde ça pour générer 1 fichier par page. En revanche je dois résoudre pour que ça nomme en reprenant comme tu le veux également un ou plusieurs des champs, car pour l'instant ça me les nomme en "1", "2", "3"... mais voilà regarde déjà la macro pour automatiser le fait de générer 1 PDF par page en un seul clic!
https://forums.commentcamarche.net/forum/affich-22687992-enregistrer-un-doc-word-en-pdf-individuel#p34081359
https://forums.commentcamarche.net/forum/affich-22687992-enregistrer-un-doc-word-en-pdf-individuel#p34081359
beru002
Messages postés
497
Date d'inscription
mardi 5 février 2008
Statut
Membre
Dernière intervention
28 janvier 2016
27
6 mai 2013 à 11:44
6 mai 2013 à 11:44
Bonjour,
Tout d'abord, merci pour ce code (encore 2 ans après!! comme quoi, ça sert!!)
Je rajoute juste ma petite contribution pour que l'export se fasse en pdf:
_ remplacer ".doc" par ".pdf" (bien entendu)
_ remplacer "wdFormatDocument" par "wdExportFormatPDF"
Voilà!!!
Si quelqu'un trouve, dans deux ans, comment faire pour ne pas avoir à cliquer pour chaque page...
Tout d'abord, merci pour ce code (encore 2 ans après!! comme quoi, ça sert!!)
Je rajoute juste ma petite contribution pour que l'export se fasse en pdf:
_ remplacer ".doc" par ".pdf" (bien entendu)
_ remplacer "wdFormatDocument" par "wdExportFormatPDF"
Voilà!!!
Si quelqu'un trouve, dans deux ans, comment faire pour ne pas avoir à cliquer pour chaque page...
AG94
Messages postés
16
Date d'inscription
jeudi 10 novembre 2016
Statut
Membre
Dernière intervention
6 septembre 2017
10 nov. 2016 à 16:39
10 nov. 2016 à 16:39
Sur ce même forum j'ai trouvé ça qui te permet de générer autant de pdf que de page en un seul clic!!! (par contre faut que je relise bien cette page-ci car dans le lien que je te mets ci-après, la correction apportée me semble pas bonne du coup je n'arrive pas faire que chaque fichier se nomme en reprenant un des champs... ça les appelle juste "1", "2", "3"... Il faut donc mélanger un peu des 2 codages ^^
https://forums.commentcamarche.net/forum/affich-22687992-enregistrer-un-doc-word-en-pdf-individuel#p34081359
https://forums.commentcamarche.net/forum/affich-22687992-enregistrer-un-doc-word-en-pdf-individuel#p34081359
Allez, moi aussi je vais rajouter ma petite pierre à l'édifice quelques années après (haha)
Pour que la Macro fonctionne il faut bien penser à "rembobiner" le publipostage (autrement dit se remettre sur l'enregistrement n+1 et en mode Prévisualisation de la fusion (sinon, ça n'enregistrera les champs qu'en mode "Nom_De_La_Variable"
Si on veut supprimer le rembobinage Manuel, on peut rajouter au début de la seconde Macro (préconisée par beru002) :
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdFirstRecord
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Merci déjà pour tout ce que j'ai pu lire, c'est très instructif!
Je suis à la recherche du même principe mais ici avec le nom qui diffère à chaque enregistrement. C'est à dire, qu'une fois les pages scindées, je souhaite qu'il m'enregistre page 1 : 12345_nomclient_prénomclient_page.doc, page 2 : 67890_nomclientdifférent_prénomclientdifférent_page.doc et ainsi de suite.
En résumé, est-il possible de demander à word d'aller chercher les données d'excel en fonction des lignes (différentes à chaque fois)?
Merci déjà pour tout ce que j'ai pu lire, c'est très instructif!
Je suis à la recherche du même principe mais ici avec le nom qui diffère à chaque enregistrement. C'est à dire, qu'une fois les pages scindées, je souhaite qu'il m'enregistre page 1 : 12345_nomclient_prénomclient_page.doc, page 2 : 67890_nomclientdifférent_prénomclientdifférent_page.doc et ainsi de suite.
En résumé, est-il possible de demander à word d'aller chercher les données d'excel en fonction des lignes (différentes à chaque fois)?
AG94
Messages postés
16
Date d'inscription
jeudi 10 novembre 2016
Statut
Membre
Dernière intervention
6 septembre 2017
10 nov. 2016 à 16:40
10 nov. 2016 à 16:40
Visiblement oui mais les explications sur une autre page de ce même forum me semblent incomplètes, je n'arrive qu'à les nommer "1", "2", "3",...
https://forums.commentcamarche.net/forum/affich-22687992-enregistrer-un-doc-word-en-pdf-individuel#p34081359
https://forums.commentcamarche.net/forum/affich-22687992-enregistrer-un-doc-word-en-pdf-individuel#p34081359
10 nov. 2016 à 16:48
Moi j'avais utilisé la macro présente ici:
https://forums.commentcamarche.net/forum/affich-22687992-enregistrer-un-doc-word-en-pdf-individuel#p34081359
afin de créer des e-billets en pdf unique en revanche la programmation initiale ne nomme que les fichiers en "1", "2", "3"..., un contributeur a voulu répondre à quelqu'un pour nommer les fichiers en reprenant un champs de fusion mais ça ne fonctionne pas, un apporte une réponse mais en fait il reprend exactement le même codage...
Vos lignes seraient peut-être intégrables dans la macro du lien ci-dessus pour que de vos 2 macros j'arrive à mes fins :) ?
10 nov. 2016 à 17:20
-Si j'active la matrice depuis mon template Word de publipostage (le modèle), ça fonctionne correctement (donc visiblement ma programmation des noms est bonne) mais du coup je n'ai que le premier fichier puisque lorsqu'on "fusionne" c'est un second fichier Word qui s'ouvre et c'est dans celui-ci que sont générés tous mes e-billets (tous les résultats de mon publipostage en fait avec autant de pages qu'il y a de lignes dans mon Excel), . Or, quand j'utilise la macro dans ce nouveau fichier, il y a un message d'erreur et je pense que c'est parce que l'Excel (où la macro va chercher les nom) est lié à mon modèle mais pas au fichier "résultat" que crée Word... (vous voyez ce que je veux dire?) Que dois-je faire selon vous?
Voici mon codage:
Sub DEMATERIALISATION()
'
Dim NbPage As Integer
Application.ScreenUpdating = False
NbPage = ActiveDocument.Windows(1).Panes(1).Pages.Count
For i = 1 To NbPage
CE = ActiveDocument.MailMerge.DataSource.DataFields(1).Value
CODE_BARRE = ActiveDocument.MailMerge.DataSource.DataFields(3).Value
ActiveDocument.ExportAsFixedFormat OutputFileName:= _
"C:\Users\ange.gagliani\Documents\EBillets\" & CE & " " & i & " Billet " & CODE_BARRE & ".pdf", ExportFormat:= _
wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
wdExportOptimizeForPrint, Range:=wdExportFromTo, From:=i, To:=i, Item:= _
wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False
Next
Application.ScreenUpdating = True
MsgBox "Export terminé"
End Sub