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

Publipostage

7 réponses
Avatar
GVA
Bonjour,

Est-il possible de faire un publipostage vers plusieurs docs word.
C'est à dire un doc pour chaque lettre.

Merci d'avance
GVA

7 réponses

Avatar
GVA
Salut
Merci beaucoup, ça fonctionne bien.
J'ai opté pour le solution ci dessous.
Elle fonctionne très bien, sauf que le nom du doc est test_ et le numéro de
page.
Comment puis-je faire pour récupérer le nom du déstinataire de la page et
l'enregistrer sous ce dernier.

------------------

Sub BreakOnPage()
' Used to set criteria for moving through the document by page.
Application.Browser.Target = wdBrowsePage

For i = 1 To ActiveDocument.BuiltInDocumentProperties("Number of Pages")

'Select and copy the text to the clipboard
ActiveDocument.Bookmarks("page").Range.Copy

' Open new document to paste the content of the clipboard into.
Documents.Add
Selection.Paste

' Removes the break that is copied at the end of the page, if any.
Selection.TypeBackspace
ChangeFileOpenDirectory "C:"
DocNum = DocNum + 1
ActiveDocument.SaveAs FileName:="test_" & DocNum & ".doc"
ActiveDocument.Close

' Move the selection to the next page in the document
Application.Browser.Next
Next i
ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub



"heureux-oli" a écrit dans le message de news:

Salut,

Cette possibilité n'est pas offerte par l'interface.
Mais on peut y parvenir en VBA.

Si tu cherches sur le site maintenu par Circé, il y a une solution
(macro).

http://www.faqword.fr/index.php/faq/publipostage/425-est-il-possible-apres-un-publipostage-fusionne-en-un-seul-gros-fichier-de-le-transformer-autant-de-fichiers-doc-quil-y-a-de-sections--.html


ou ici
http://heureuxoli.developpez.com/office/word/publipostage/#L7-G

A toi de voir.

--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/

----------------------------------------------------------------------------------

"GVA" a écrit dans le message de news:

Bonjour,

Est-il possible de faire un publipostage vers plusieurs docs word.
C'est à dire un doc pour chaque lettre.

Merci d'avance
GVA







Avatar
Geo
Bonjour

Elle fonctionne très bien, sauf que le nom du doc est test_ et le numéro de page.
Comment puis-je faire pour récupérer le nom du déstinataire de la page et l'enregistrer
sous ce dernier.



Vous êtes sympathique, vous.
Olivier vous propose deux solutions, vous en choisissez une troisième
qui ne fait pas ce que vous voulez et vous demandez qu'on vous la
modifie.
Comment voulez-vous qu'on sache où est le nom du destinataire ?
A part sur sa boite à lettres ?

--
A+
Avatar
GVA
"Geo" a écrit dans le message de news:

Bonjour

Elle fonctionne très bien, sauf que le nom du doc est test_ et le numéro
de page.
Comment puis-je faire pour récupérer le nom du déstinataire de la page et
l'enregistrer sous ce dernier.



Vous êtes sympathique, vous.
Olivier vous propose deux solutions, vous en choisissez une troisième qui
ne fait pas ce que vous voulez et vous demandez qu'on vous la modifie.
Comment voulez-vous qu'on sache où est le nom du destinataire ?
A part sur sa boite à lettres ?

--
A+




Bonjour,

Je n'ai pas choisi une troisième solution mais la première qui se trouve ici
http://www.faqword.fr/index.php/faq/publipostage/425-est-il-possible-apres-un-publipostage-fusionne-en-un-seul-gros-fichier-de-le-transformer-autant-de-fichiers-doc-quil-y-a-de-sections--.html
et me renvoyait vers ce lien http://support.microsoft.com/kb/q216201/

J'ai même testé la deuxième, mais ça coince au niveau de la variable iR
iR = MailMerge.DataSource.RecordCount

Quant au destinataire, en principe dans un publipostage il en a toujours un,
qui change sur chaque page.
Ssinon il m'aurait suffit d'imprimer x fois le document au lieu de
fusionner

Je ne désire pas que l'on me fournisse un travail tout fait, juste
comprendre comment définir une variable au déstinataire qui sera reporté sur
chaque page du publipostage lors de la fusion et ainsi pouvoirr la récupérer
pour l'attributer à ActiveDocument.SaveAs FileName:= variable


GVA
Avatar
heureux-oli
Salut,

Malheureusement, la première solution s'exécutant après la fusion, il n'est
plus possible de récupérer les données.

Si ça coince au niveau de la variable, y a-t-il un message d'erreur ?


--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/

----------------------------------------------------------------------------------

"GVA" a écrit dans le message de news:
%23E$

"Geo" a écrit dans le message de news:

Bonjour

Elle fonctionne très bien, sauf que le nom du doc est test_ et le numéro
de page.
Comment puis-je faire pour récupérer le nom du déstinataire de la page
et l'enregistrer sous ce dernier.



Vous êtes sympathique, vous.
Olivier vous propose deux solutions, vous en choisissez une troisième qui
ne fait pas ce que vous voulez et vous demandez qu'on vous la modifie.
Comment voulez-vous qu'on sache où est le nom du destinataire ?
A part sur sa boite à lettres ?

--
A+




Bonjour,

Je n'ai pas choisi une troisième solution mais la première qui se trouve
ici
http://www.faqword.fr/index.php/faq/publipostage/425-est-il-possible-apres-un-publipostage-fusionne-en-un-seul-gros-fichier-de-le-transformer-autant-de-fichiers-doc-quil-y-a-de-sections--.html
et me renvoyait vers ce lien http://support.microsoft.com/kb/q216201/

J'ai même testé la deuxième, mais ça coince au niveau de la variable iR
iR = MailMerge.DataSource.RecordCount

Quant au destinataire, en principe dans un publipostage il en a toujours
un, qui change sur chaque page.
Ssinon il m'aurait suffit d'imprimer x fois le document au lieu de
fusionner

Je ne désire pas que l'on me fournisse un travail tout fait, juste
comprendre comment définir une variable au déstinataire qui sera reporté
sur chaque page du publipostage lors de la fusion et ainsi pouvoirr la
récupérer pour l'attributer à ActiveDocument.SaveAs FileName:= variable


GVA








Avatar
GVA
Salut,

J'ai erreur 420 objet requis
sur cette ligne
iR = MailMerge.DataSource.RecordCount


Merci et bon week-end




"heureux-oli" a écrit dans le message de news:

Salut,

Malheureusement, la première solution s'exécutant après la fusion, il
n'est plus possible de récupérer les données.

Si ça coince au niveau de la variable, y a-t-il un message d'erreur ?


--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/

----------------------------------------------------------------------------------

"GVA" a écrit dans le message de news:
%23E$

"Geo" a écrit dans le message de news:

Bonjour

Elle fonctionne très bien, sauf que le nom du doc est test_ et le
numéro de page.
Comment puis-je faire pour récupérer le nom du déstinataire de la page
et l'enregistrer sous ce dernier.



Vous êtes sympathique, vous.
Olivier vous propose deux solutions, vous en choisissez une troisième
qui ne fait pas ce que vous voulez et vous demandez qu'on vous la
modifie.
Comment voulez-vous qu'on sache où est le nom du destinataire ?
A part sur sa boite à lettres ?

--
A+




Bonjour,

Je n'ai pas choisi une troisième solution mais la première qui se trouve
ici
http://www.faqword.fr/index.php/faq/publipostage/425-est-il-possible-apres-un-publipostage-fusionne-en-un-seul-gros-fichier-de-le-transformer-autant-de-fichiers-doc-quil-y-a-de-sections--.html
et me renvoyait vers ce lien http://support.microsoft.com/kb/q216201/

J'ai même testé la deuxième, mais ça coince au niveau de la variable iR
iR = MailMerge.DataSource.RecordCount

Quant au destinataire, en principe dans un publipostage il en a toujours
un, qui change sur chaque page.
Ssinon il m'aurait suffit d'imprimer x fois le document au lieu de
fusionner

Je ne désire pas que l'on me fournisse un travail tout fait, juste
comprendre comment définir une variable au déstinataire qui sera reporté
sur chaque page du publipostage lors de la fusion et ainsi pouvoirr la
récupérer pour l'attributer à ActiveDocument.SaveAs FileName:= variable


GVA












Avatar
heureux-oli
Salut,

Pour en avoir le cour net, je viens de faire un test du code qui se trouve
dans le tuto.
Je n'ai aucune erreur !

combien d'enregistrements as-tu dans ton publipostage ?

iR étant un entier, on est limité à 32767.
J'espère que ce n'est pas ton cas.



--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/

----------------------------------------------------------------------------------

"GVA" a écrit dans le message de news:
%
Salut,

J'ai erreur 420 objet requis
sur cette ligne
iR = MailMerge.DataSource.RecordCount


Merci et bon week-end




"heureux-oli" a écrit dans le message de
news:
Salut,

Malheureusement, la première solution s'exécutant après la fusion, il
n'est plus possible de récupérer les données.

Si ça coince au niveau de la variable, y a-t-il un message d'erreur ?


--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/

----------------------------------------------------------------------------------

"GVA" a écrit dans le message de news:
%23E$

"Geo" a écrit dans le message de news:

Bonjour

Elle fonctionne très bien, sauf que le nom du doc est test_ et le
numéro de page.
Comment puis-je faire pour récupérer le nom du déstinataire de la page
et l'enregistrer sous ce dernier.



Vous êtes sympathique, vous.
Olivier vous propose deux solutions, vous en choisissez une troisième
qui ne fait pas ce que vous voulez et vous demandez qu'on vous la
modifie.
Comment voulez-vous qu'on sache où est le nom du destinataire ?
A part sur sa boite à lettres ?

--
A+




Bonjour,

Je n'ai pas choisi une troisième solution mais la première qui se trouve
ici
http://www.faqword.fr/index.php/faq/publipostage/425-est-il-possible-apres-un-publipostage-fusionne-en-un-seul-gros-fichier-de-le-transformer-autant-de-fichiers-doc-quil-y-a-de-sections--.html
et me renvoyait vers ce lien http://support.microsoft.com/kb/q216201/

J'ai même testé la deuxième, mais ça coince au niveau de la variable iR
iR = MailMerge.DataSource.RecordCount

Quant au destinataire, en principe dans un publipostage il en a toujours
un, qui change sur chaque page.
Ssinon il m'aurait suffit d'imprimer x fois le document au lieu de
fusionner

Je ne désire pas que l'on me fournisse un travail tout fait, juste
comprendre comment définir une variable au déstinataire qui sera reporté
sur chaque page du publipostage lors de la fusion et ainsi pouvoirr la
récupérer pour l'attributer à ActiveDocument.SaveAs FileName:=
variable


GVA
















Avatar
GVA
Salut,

Non j'en ai une centaine.
le problème semble venir du fait que le nombre d'enregistrements n'est pas
compris par word.
Si je fixe cette variable en dur ça fonctionne très bien.

Je suis en 2003

Mais ne te casse pas la tête
Merci


"heureux-oli" a écrit dans le message de news:
%23Q$
Salut,

Pour en avoir le cour net, je viens de faire un test du code qui se trouve
dans le tuto.
Je n'ai aucune erreur !

combien d'enregistrements as-tu dans ton publipostage ?

iR étant un entier, on est limité à 32767.
J'espère que ce n'est pas ton cas.



--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/

----------------------------------------------------------------------------------

"GVA" a écrit dans le message de news:
%
Salut,

J'ai erreur 420 objet requis
sur cette ligne
iR = MailMerge.DataSource.RecordCount


Merci et bon week-end




"heureux-oli" a écrit dans le message de
news:
Salut,

Malheureusement, la première solution s'exécutant après la fusion, il
n'est plus possible de récupérer les données.

Si ça coince au niveau de la variable, y a-t-il un message d'erreur ?


--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/

----------------------------------------------------------------------------------

"GVA" a écrit dans le message de news:
%23E$

"Geo" a écrit dans le message de news:

Bonjour

Elle fonctionne très bien, sauf que le nom du doc est test_ et le
numéro de page.
Comment puis-je faire pour récupérer le nom du déstinataire de la
page et l'enregistrer sous ce dernier.



Vous êtes sympathique, vous.
Olivier vous propose deux solutions, vous en choisissez une troisième
qui ne fait pas ce que vous voulez et vous demandez qu'on vous la
modifie.
Comment voulez-vous qu'on sache où est le nom du destinataire ?
A part sur sa boite à lettres ?

--
A+




Bonjour,

Je n'ai pas choisi une troisième solution mais la première qui se
trouve ici
http://www.faqword.fr/index.php/faq/publipostage/425-est-il-possible-apres-un-publipostage-fusionne-en-un-seul-gros-fichier-de-le-transformer-autant-de-fichiers-doc-quil-y-a-de-sections--.html
et me renvoyait vers ce lien http://support.microsoft.com/kb/q216201/

J'ai même testé la deuxième, mais ça coince au niveau de la variable iR
iR = MailMerge.DataSource.RecordCount

Quant au destinataire, en principe dans un publipostage il en a
toujours un, qui change sur chaque page.
Ssinon il m'aurait suffit d'imprimer x fois le document au lieu de
fusionner

Je ne désire pas que l'on me fournisse un travail tout fait, juste
comprendre comment définir une variable au déstinataire qui sera
reporté sur chaque page du publipostage lors de la fusion et ainsi
pouvoirr la récupérer pour l'attributer à ActiveDocument.SaveAs
FileName:= variable


GVA