Publipostage multiple

Papyduster 7 Messages postés vendredi 1 décembre 2017Date d'inscription 8 janvier 2018 Dernière intervention - 8 janv. 2018 à 17:54 - Dernière réponse :  Papyduster
- 14 janv. 2018 à 15:55
Bonjour a tous
J'ai Besoin d'une aide précieuse pour me faciliter la tache ( ceci m'éviterais de renommer Chaque page)

Apres mon publipostage, j'ai décidé de Diviser celui-ci en plusieurs pages avec le code que j'ai trouvé sur le FAQ.
Se sont des fiches de renseignement par Elève avec Photo.
(Je pense à m@rina qui m'avais bien aidé pour ce publipostage)

Code ci-joint :
Sub couper_sections()
Application.Browser.Target = wdBrowseSection

For i = 1 To ((ActiveDocument.Sections.Count) - 1)

'Selectionne et copie le texte de la section dans le presse-papier
ActiveDocument.Bookmarks("\Section").Range.Copy

'Crée un nouveau document et colle le texte du presse-papier
Documents.Add
Selection.Paste

' Retire le saut de section qui a été copié
Selection.MoveUp Unit:=wdLine, Count:=1, Extend:=wdExtend
Selection.Delete Unit:=wdCharacter, Count:=1

ChangeFileOpenDirectory "C:\"
DocNum = DocNum + 1
ActiveDocument.SaveAs FileName:="Fiche" & DocNum & ".doc"
ActiveDocument.Close
'section suivante
Application.Browser.Next
Next i
ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub

Dans ce code, il nomme chaque page sous le Nom : Fiche et un N° et son extension .doc ( ActiveDocument.SaveAs FileName:="Fiche" & DocNum & ".doc")
Pour ne pas a renommer chaque page, sachant que j'utilise dans chaque Fiche le nom et le prénom (insertion Champ)
J'aimerais que chaque page porte le nom et le prénom. quel est le code à inclure dans celui-ci?

Je travail avec Word 2002.

J'avais posé la question avant les fêtes mais celle-ci est resté sans réponse.
Je remercie d'avance celle ou celui qui m'apportera la solution.
A bientôt
et Bonne soirée
Papyduster
Afficher la suite 

4 réponses

Répondre au sujet
m@rina 13913 Messages postés mardi 12 juin 2007Date d'inscriptionContributeurStatut 13 janvier 2018 Dernière intervention - 10 janv. 2018 à 15:19
0
Utile
Bonjour,

La macro peut aller chercher le nom et le prénom. Mais il faut savoir qu'un résultat de publipostage ne contient plus de champs. Donc, ce n'est pas la piste.

Pour récupérer le nom et le prénom, il faut savoir exactement où se trouve ces renseignements sur chaque page. Tu peux t'aider de ce code :
http://faqword.com/index.php/word/environnement/736-comment-utiliser-un-mot-du-document-pour-nommer-un-fichier

m@rina
Commenter la réponse de m@rina
Papyduster - 11 janv. 2018 à 16:57
0
Utile
1
Bonjour m@rina

Comment trouver le paragraphe et l'emplacement du mot (Nom)?

Dans mes pages word, Le champ du nom se trouve à la li 12 et col 18 et le champ du prénom se trouve
à la li 13 et col 10

es ce que la ligne représente le paragraphe et le Mot(Nom ou prénom) La colonne?

Merci de bien vouloir confirmer si c'est la bonne solution.
Vue que j'ai plus de 50 pages je voudrais pas me rater et recommencer.

A bientôt
Papyduster
m@rina 13913 Messages postés mardi 12 juin 2007Date d'inscriptionContributeurStatut 13 janvier 2018 Dernière intervention - 12 janv. 2018 à 12:57
Bonjour,

Dans mon exemple je ne parle pas de ligne parce que la notion de lignes pour Word est mouvante.
Donc, il faut partir sur des choses fixes comme je l'explique avec le numéro de paragraphe et l'emplacement du mot dans le paragraphe.

Et comme je le dis dans le lien donné, un paragraphe est déterminé par un retour paragraphe. Ensuite on regarde où est le nom, si c'est le 3e mot ou le 10e mot du paragraphe. Je ne sais pas ce qui n'est pas clair :

nom = ActiveDocument.Paragraphs(2).Range.Words(6)

le nom dans cet exemple le 6e mot du 2e paragraphe.

m@rina
Commenter la réponse de Papyduster
Papyduster - 14 janv. 2018 à 15:55
0
Utile
Bonjour m@rina

Pour vous, c'est claire, pour moi pas trop. c'est quoi le N° du paragraphe?
à chacun son métier, moi c'était électricien.
Je ne pratique que pour taper du texte et en plus je ne connais pas le fameux VBA.
Donc pas facile pour moi.

Ma page est faite comme ceci:

Horaire cours :


Nom Elève : (Nom du champ)
Prénom Elève : (Nom du champ)
Date de naissance :

+ D'autres info


comment trouver le n° du paragraphe?

Et la dans cette macro comment remplacer test par le Nom
Et Docnum par le prénom?

Sub couper_sections()
Application.Browser.Target = wdBrowseSection

For i = 1 To ((ActiveDocument.Sections.Count) - 1)

'Selectionne et copie le texte de la section dans le presse-papier
ActiveDocument.Bookmarks("\Section").Range.Copy

'Crée un nouveau document et colle le texte du presse-papier
Documents.Add
Selection.Paste

' Retire le saut de section qui a été copié
Selection.MoveUp Unit:=wdLine, Count:=1, Extend:=wdExtend
Selection.Delete Unit:=wdCharacter, Count:=1

ChangeFileOpenDirectory "C:\" (Chemin)
DocNum = DocNum + 1
ActiveDocument.SaveAs FileName:="test_" & DocNum & ".doc"
ActiveDocument.Close
'section suivante
Application.Browser.Next
Next i
ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub

Je vous le dit que je ne suis pas très fort pour ce travail.
si je n'y arrive pas, je laisse tomber,
Comme dirais la reine d'Angleterre, ce n'ai pas ma tasse de thé.

Bonne journée

Papyduster
Commenter la réponse de Papyduster