Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/09/2011, 12h58   #1
Invité de passage
 
Inscription : juillet 2009
Messages : 5
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 5
Points : 1
Points : 1
Par défaut Séparation après fusion & publipostage

Bonjour,

Suite à un publipostage d'un document word de 3 pages , je me retrouve avec un document word (issus du publipostage) de 174 pages.

Actuellement je cherche à séparer les documents de 3 pages en les enregistrant avec un nom spécifique .

Sur le site de microsoft j'ai trouvé une macro qui fait une découpe par page (j'ai essayé d'ajouter un compteur sans succès) :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
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 "D:\test_word"
      DocNum = DocNum + 1
      ActiveDocument.SaveAs FileName:="test_wordr" & 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
Merci d'avance pour votre aide.
Joche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 13h52   #2
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 597
Points : 1 597
Envoyer un message via MSN à carden752
Bonjour,

Word fusionne les documents en les séparant par des sauts de sections.
Je te conseille donc quelque chose de ce style à adapter :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
sub separesection()
dim s as section
' Parcours des sections
for each s in activedocument.sections
s.range.copy
Documents.Add
Selection.Paste
' Removes the break that is copied at the end of the page, if any.
Selection.TypeBackspace
ChangeFileOpenDirectory "D:\test_word"
DocNum = DocNum + 1
ActiveDocument.SaveAs FileName:="test_wordr" & DocNum & ".doc"
ActiveDocument.Close
Next s
ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/09/2011, 09h19   #3
Invité de passage
 
Inscription : juillet 2009
Messages : 5
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 5
Points : 1
Points : 1
Merci pour ta réponse et désolé pour le retard de la mienne.

Je vais décortiquer ton script, et je vous tiens au courant.
Joche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2011, 21h53   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 333
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 333
Points : 29 239
Points : 29 239
Salut,

Le plus simple est de faire la séparation avant la fusion, si c'est dans ton cas possible.
On peut alors utiliser un ou plusieurs champs pour le nom du fichier.
__________________
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h19.


 
 
 
 
Partenaires

Hébergement Web