|
Publicité ' | ||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Christophe Inscription : décembre 2010 Messages : 13 ![]() |
Bonjour a tous,
J'ai utilisé la macro BreakOnSection afin de couper un publipostage. Ça fonctionne, j'ai bien un fichier Word de créé par section. j'ai bien la mise en page qui est gardée grâce a l'aide de carden752. En revanche j'ai une page blanche en plus sur chaque fichier créer. Voici ce que je lance: Code :
Merci |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Bonjour,
Est-ce que tu peux décrire comment sont effectués tes sauts de section? Chez moi ton code marche très bien et ne génère pas de page blanche. Tu n'as pas un saut de page avant ton saut de section? Est-ce que tes sections sont liées entre elles? Je crois que si ce n'est pas le cas, le caractère de fin de section se trouve sur la page suivante. C'est pour cela que tu as deux pages. Tu peux éventuellement rajouter Code :
Code :
ActiveDocument.Bookmarks("\Section").Range.Copy En revanche, si toutes les sections ont les mêmes informations, il te suffit de les lier entre elles.
__________________
Cordialement, Christophe Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Christophe Inscription : décembre 2010 Messages : 13 ![]() |
Merci pour ta réponse.
Je suis une brelle en Word.( et j'aurai mieux fais de suivre les cours de prog au lieux d'aller draguer les minettes.) En gros j'ai une lettre de deux pages que je fusionne en publipostage. j'ai bien mes données renseignées pour chaque clients et entre chaque client il me met un saut de section.(toutes les deux pages) J'ai essayé en remplacent le code, je n'ai plus la page supplémentaire mais je n'ai plus ma mise en page non plus. J'espère être assez clair. Merci |
|
|
00
|
|
|
#4 | ||||
![]() ![]() |
Bonjour,
je le craignais, effectivement, le problème est que le caractère de fin de section se trouve sur la deuxième page. En supprimant un caractère avant la copie, je supprimais le caractère de fin de section. A mon avis, il te faut garder la première partie (copie comme elle l'était) et appliquer la suppression après la copie. Code :
ActiveDocument.Bookmarks("\Section").Range.Copy Code :
Au final, quelque chose comme cela Code :
Tiens moi au courant
__________________
Cordialement, Christophe Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche |
||||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Christophe Inscription : décembre 2010 Messages : 13 ![]() |
bonjour,
J'ai essayé ton code mais ça me créer un fichier avec le lettre fusionner avec tout le contenu du publipostage. Je précise qu'au final le but et d'imprimé le publipostage sur un multifonction en agrafage. Et pour cela il me faut chaque section dans un fichier word. Ensuite je règle mon imprimante par défaut en agrafage, je selectionne tous les fichiers et je fais clique droit imprimer. Actuellement, ca fonctionne nickel. En revanche, j'ai cette fameuse feuille blanche en fin de chaque document word. J'ai mis un exemple de fichier que je dois traiter. Ca sera plus facile qu'avec mes explications. Merci pour ton aide. |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 321 ![]() |
Salut,
Avec ta dernière explication, je ne suis pas très bien ce qui te pousse à faire un fichier par résultat. Pourquoi ne pas envoyer les enregistrements un par un vers l'imprimante. Dans cette partie du tuto http://heureuxoli.developpez.com/off...ipostage/#L7-G je donne un code qui permet d'enregistrer le document dans un fichier en utilisant un champ du publipostage. Si on utilise l'argument wdSendToPrinter au lieu de wdSendToNewDocument, il devient inutile de demande l'impression par la suite puisqu'elle sera réalisée dans la foulée.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Christophe Inscription : décembre 2010 Messages : 13 ![]() |
Oui effectivement, ce serai parfait pour mon utilisation.
En revanche, je n'ai aucune notion en vba. J'aurai donc quelque question de noob. Le publipostage est lancé dans le code d' après ce que j'ai compris. j'ouvre donc mon word lié avec sa source excel pour les données, je ne lance pas la fusion depuis word mais depuis le code? Ils faut donc que j'adapte le code par rapport a la source de donnée ou vis versa. Mais comment? En gros tu me fournis la solution idéal mais je sais pas la mettre en œuvre. |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 321 ![]() |
Salut,
On peut très bien mettre un bouton dans word pour ne pas avoir à aller dans le code. Je vais regarder ce soir comment adapter le code.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Christophe Inscription : décembre 2010 Messages : 13 ![]() |
Bonjour,
Je reviens a la charge J'essaie d'adapter le code de Heureux-oli en vain... Un petit conseil serai le bien venu. Faut il mettre dans le code ou s'alimente le publi?(en l'occurrence un .xls pour mon cas) Et si d'autre modifications nécessaire lesquelles? Merci d'avance |
|
|
00
|
|
|
#10 | ||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 321 ![]() |
Salut,
Il suffit de mettre ce code dans le module du document principal de fusion. Code :
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
||
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Christophe Inscription : décembre 2010 Messages : 13 ![]() |
Merci pour ta réponse.
J'avais compris pour le changement "Destination = wdSendToPrinter". Mais je n'arrive pas le faire fonctionner de base. J'ai une erreur d'execution 424 objet requis et au niveau du debug c'est arrété a: iR = MailMerge.DataSource.RecordCount Je dois oublié quelque chose de gros. |
|
|
00
|
|
|
#12 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 321 ![]() |
Salut,
C'est bien un document principal de fusion, un document avec une source de données accrochée ? Je n'ai pas ce message d'erreur.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Christophe Inscription : décembre 2010 Messages : 13 ![]() |
Oui c'est un publipostage basique attaché avec un xls. Peut tu tester avec les documents que j'ai mis en pièces jointes plus haut?
J'ai essayé sur du 2007 et 2010 même erreur. |
|
|
00
|
|
|
#14 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 321 ![]() |
Salut,
Je n'ai pas le message d'erreur avec tes fichiers. Tu n'es pas le premier à signaler ce message d'erreur et je ne parviens pas à reproduire l'erreur. J'ai essayé sur 2003 et 2010, il ne me reste que 2007 à tester.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Christophe Inscription : décembre 2010 Messages : 13 ![]() |
neiluj26 avait exactement le même soucis et la résolus avec le changement de la ligne qui posée problème par cette ligne "iR = oDoc.MailMerge.DataSource.RecordCount". Je test est je te tiens au courant.
|
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Christophe Inscription : décembre 2010 Messages : 13 ![]() |
C'est une tuerie ca marche parfaitement!
En creation de fichier et en impression a la volée. Merci beaucoup Heureux-oli!!!!
|
|
|
00
|
|
|
#17 |
![]() ![]() |
Bonjour Olivier et Lefenek,
Comme je te l'avais effectivement déjà souligné, j'ai le problème sur 2007. Je vais faire des tests pour essayer de trouver d'où provient le problème afin de régler cette situation pour la FAQ, j'ai un peu de temps ce soir. Je te tiens au courant
__________________
Cordialement, Christophe Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche |
|
|
00
|
|
|
#18 |
![]() ![]() |
La documentation indique que la classe MailMerge existe et peut appartenir à un objet Word.
Cependant, quand j'écris application. ou word. (il ne me propose pas MailMerge). Est-ce une erreur dans la documentation ou un problème avec la librairie correspondante MSWORD.OLB
__________________
Cordialement, Christophe Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche |
|
|
00
|
|
|
#19 | |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 321 ![]() |
Salut,
Je l'ai toujours utilisé sur un document. Dans l'aide 2010, il appartient au document. Citation:
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com