Fusion vers des fichiers individuels (Microsoft Word)
Lorsque vous utilisez la fonctionnalité de fusion et publipostage dans Word, vous avez la possibilité d’imprimer vos résultats directement ou de créer un nouveau document. Si vous choisissez cette dernière option, le document résultant contient toutes les informations qui auraient normalement été transmises à l’imprimante. Par exemple, si votre document de fusion est une lettre de deux pages, chaque lettre du document résultant est séparée par un saut de section. Ainsi, si vous fusionnez la lettre de deux pages avec 150 adresses différentes, vous vous retrouverez avec un document de 300 pages avec 150 sauts de section (un toutes les deux pages).
Pour certaines personnes, il serait plus utile de fusionner des fichiers individuels. Par exemple, étant donné l’exemple ci-dessus, vous pourriez vouloir 150 fichiers de documents individuels, chacun de deux pages. Malheureusement, ce n’est pas l’une des options disponibles lors de l’utilisation de la fonctionnalité de fusion et publipostage de Word. La seule réponse pour accomplir cette tâche est de créer une macro qui, basée sur le document fusionné (celui de 300 pages mentionné ci-dessus) prendra chaque section et l’enregistrera dans son propre fichier de document.
Si vous regardez dans la base de connaissances de Microsoft, vous constaterez qu’il existe un ancien article qui traite de ce problème même:
http://support.microsoft.com/kb/216201
La macro présentée dans l’article, même si elle a été écrite pour une ancienne version de Word, fonctionnera parfaitement dans les versions ultérieures. Il vous permet de séparer un document fusionné en fichiers individuels, en fonction des sauts de section:
Sub BreakOnSection() 'Used to set criteria for moving through the document by section. Application.Browser.Target = wdBrowseSection 'A mailmerge document ends with a section break next page. 'Subtracting one from the section count stop error message. For i = 1 To ((ActiveDocument.Sections.Count) - 1) 'Select and copy the section text to the clipboard ActiveDocument.Bookmarks("\Section").Range.Copy 'Create a new document to paste text from clipboard. Documents.Add Selection.Paste 'Removes the break that is copied at the end of the section, if any. Selection.MoveUp Unit:=wdLine, Count:=1, Extend:=wdExtend Selection.Delete Unit:=wdCharacter, Count:=1 ChangeFileOpenDirectory "C:\" DocNum = DocNum + 1 ActiveDocument.SaveAs FileName:="test_" & DocNum & ".doc" ActiveDocument.Close 'Move the selection to the next section in the document Application.Browser.Next Next i ActiveDocument.Close savechanges:=wdDoNotSaveChanges End Sub
Il est important de réaliser, cependant, que cette macro ne fonctionnera que si le seul endroit où les sauts de section se produisent est entre les documents fusionnés. Si votre document d’origine comprend des sauts de section, la macro ne fournira pas de résultats satisfaisants. Pour plus d’informations sur l’utilisation de la macro, reportez-vous à l’article de la base de connaissances sur le lien fourni ci-dessus.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / wordribbon-WordTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
WordTips est votre source pour une formation Microsoft Word rentable.
(Microsoft Word est le logiciel de traitement de texte le plus populaire au monde.) Cette astuce (1538) s’applique à Microsoft Word 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban de Word (Word 2007 et plus tard) ici:
lien: / wordribbon-Merging_to_Individual_Files [Fusion à des fichiers individuels]
.