|
Publicité ' | ||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : juillet 2003 Messages : 54 ![]() |
J'ai un document modèle de 15 pages.
Je voudrais créer un nouveau document contenant les pages x,y,z. Ces pages seront extraitent du document modèle. Comment faire le tout par programmation? Merci de votre aide! |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Une fois de plus, les pages ne sont pas des objets en Word et de plus, elles sont dynamiques.
Les pages dépendent du format du papier, de la taille des caractères, de l'imprimante,... Si il y a un "délimiteur" autre que les pages, ce serait plus facile. Le gros problème est que l'on ne parvient pas à sélectionner le contenu d'une page.
__________________
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
|
|
|
#3 |
![]() ![]() JF JousseaumeInscription : octobre 2007 Messages : 2 390 ![]() |
Salut,
Comme le dit Heureux-oli, Word ne gère pas des pages mais du texte qui se découpe en page en fonction de plein de paramètres dont certains sont contrôlables comme le format du papier, les marges du document et d'autres ne le sont pas comme les ... marges de ton imprimante. Donc tu vois que rien que les marges posent un pb. En revanche ce que te prospose Heureux-Oli est vrai (une fois de plus), si tu as des marqueurs matérialisés comme un changement de chapitre, de sous-chapitre, un saut de page, de section ou encore mieux un signet, tu peux alors retrouver ton début de "page" en fait le texte qui correspond au début de ta page, tu peux alors étendre ta sélection jusqu'au prochain marqueur, tu copies, tu changes de doc et tu colles. Dans un modèle, tu peux aussi partir du doc initial issu de ton modèle et supprimer ce qui est en trop. Si maintenant, tu ne peux pas faire autrement que d'utiliser les pages, tu dois alors passer par un logiciel capable de gérer la pagination réelle quelque soit l'imprimante: PDF, mais c'est plus compliqué si tu veux après modifié ton doc (surtout si tu as des tableaux). voilà, tiens-nous au courant |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : juillet 2003 Messages : 54 ![]() |
Merci pour la bonne explication!
Les margueurs que j'ai dans chaque page de mon document modèle sont des signets. Merci de votre aide |
|
|
00
|
|
|
#5 |
![]() ![]() JF JousseaumeInscription : octobre 2007 Messages : 2 390 ![]() |
Salut,
Là c'est simple. Si on suppose que le nom de ton 1er signet que tu veux sélectionner soit "sign1" et le 2ieme "sign2", le code suivant: Code :
ActiveDocument.Range(Start:=ActiveDocument.Bookmarks("sign1").Start, End:=ActiveDocument.Bookmarks("sign2").End) Attention, dans ce code, les signets sont inclus |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : juillet 2003 Messages : 54 ![]() |
J'ai modifié la ligne pour obtenir ceci:
Code :
copie=WordDoc.Application.ActiveDocument.Range(Start:=ActiveDocument.Bookmarks("debut").Start, End:=ActiveDocument.Bookmarks("fin").End) Erreur d'exécutin = 4248 Commande non disponible : aucun document n'est ouvert pourtant j'ouvre mon document WORD en premier. Que faire? |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : juillet 2003 Messages : 54 ![]() |
ok j'ai trouvé
c'était plutot : Code :
WordDoc.Application.ActiveDocument.Range(Start:=WordDoc.Application.ActiveDocument.Bookmarks("debut").Start, End:=WordDoc.Application.ActiveDocument.Bookmarks("fin").End) |
|
|
00
|
|
|
#8 |
![]() ![]() JF JousseaumeInscription : octobre 2007 Messages : 2 390 ![]() |
Salut,
Si c'est OK, clique sur
|
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : juillet 2003 Messages : 54 ![]() |
J'attends pour ajoute RÉSOLU.
Il va avoir peut-être une suite..... |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Je pense que ta ligne même si elle ne lève pas d'erreur est un peu lourde.
wordDoc est un objet Document. Application est un objet Application Dans l'ordre des choses, on va toujours du plus gros au plus petit. Code :
Application.ObjetFichier.PlageDansObjet Ou encore Si tu te trouves dans Word, il n'est pas utile de faire appel à l'application, il se fait par défaut.
__________________
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é régulier
![]() Inscription : juillet 2003 Messages : 54 ![]() |
Merci pour les explications!
je me trouve dans excel lorsque j'écris mon code... |
|
|
00
|
|
|
#12 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Si tu es dans Excel
Code :
wApp.Documents("MonDoc.doc").Range.... où Documents("...") peut être ActiveDocument.
__________________
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