Casser les liens "champfusion" avant impression fichier word

Bonjour,

J'espère poser ma question au bon endroit, je ne trouve personne pour m'aider sur les macros word.

J'ai énormément de fichiers words qui contiennent des champfusion (y compris en entetes).

A l'ouverture de chacun d'entre eux, je souhaite "casser les liens" des champfusion afin que chaque fichier ne soit plus que texte.

voici le "bout de macro que j'ai fait :

Sub casse_champfusion()
'
' casse_champfusion Macro

   Selection.WholeStory
   Selection.Fields.Unlink
   Selection.EscapeKey

End Sub

Cela fonctionne pour le corps de document, mais m'oblige à ouvrir les entêtes + relancer la macro.

Comment faire pour que la macro puisse ouvrir également les entêtes et les modifier ?

Merci d'avance pour votre aide !

Bonjour,

Je dois reconnaitre que je ne comprend pas bien le but et ce que vous entendez par cassez les liens ?

Pour le publipostage quand on veut obtenir un document sans les champs il suffit d'utiliser l'option : "Terminer la fusion" et choisir "Modifier les documents"

vous obtiendrez un nouveau document fusionné avec les champs remplacés par les données.

Bonjour,

Mon besoin est simple : Transformer un fichier word truffé de champfusion (renseignés par une macro excel) en un fichier word qui ne contient que du texte brut

(Je ne veux plus de liens entre le fichier word et quoi que ce soit d'autre)

Pourquoi ce besoin ? : lors de l'ouverture du dit fichier word, tous les champs fusion sont renseignés comme il faut. MAIS au moment de lancer l'impression (classique ou PDF) , word cherche à mettre à jour les champs fusion qui sont dans les entetes. Comme il n'a pas de lien avec le fichier excel, il vide les champs...

DONC : Ma petite macro permet de sélectionner tout le corps de document pour transformer les champfusion en texte brut.

Problème, cette macro n'ouvre pas les entetes. Je dois donc ouvrir manuellement les entetes et lancer à nouveau la macro.

Mon besoin : Lancer la macro 1 fois et qu'elle transforme l'intégralité du document.

Espérant avoir été plus clair !

(ps : pour info la config de word a été faite via les options afin qu'il ne mette pas à jour les champs fusion à l'impression. Mais ce n'est fonctionnel que sur le corps de doc et non dans les entêtes...)

Dans ce cas ne serait pas plus rapide de créer une macro qui fusionne votre document word (comme précédemment indiqué ) et lancer l'impression pdf à

partir du nouceau document créé qui lui n'a plus de champs de fusion ?

Non, car j'ajoute des images, et autres petits détails sur chaque fichier word.

En gros l'injection par macro excel me génère des fichiers word finalisés à 90%, le reste est manuel...

Bonjour à tous

En principe CTRL A, CTRL Shift F9

Il peut être nécessaire de répéter la seconde en zone d'en-tête

ou en VBA

    Selection.WholeStory
    Selection.Fields.Unlink

Bonjour,

Si vous remontez sur mon premier post, c'est ce que je fais dans le code vba. Mais le code n'applique pas la fonction "unlink" aux entetes. Comme précisé plus haut, je dois ouvrir par un double clic l'en-tête puis lancer la macro.

Bonjour

Ceci semble fonctionner pour en-têtes & pieds

For i = 1 To ActiveDocument.Sections.Count
    With ActiveDocument.Sections(i)
        .Headers(wdHeaderFooterPrimary).Range.Select
        Selection.Fields.Unlink
        .Footers(wdHeaderFooterPrimary).Range.Select
        Selection.Fields.Unlink
    End With
Next
    If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
        ActiveWindow.Panes(2).Close
        ActiveWindow.ActivePane.View.Type = wdPrintView
    End If

Bonjour,

Parfait cela fonctionne ! (Ci joint le code complet)

Sub casse_champfusion()
'
' casse_champfusion Macro
'
'
   Selection.WholeStory
   Selection.Fields.Unlink
   Selection.EscapeKey

For i = 1 To ActiveDocument.Sections.Count
    With ActiveDocument.Sections(i)
        .Headers(wdHeaderFooterPrimary).Range.Select
        Selection.Fields.Unlink
        .Footers(wdHeaderFooterPrimary).Range.Select
        Selection.Fields.Unlink
    End With
Next
    If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
        ActiveWindow.Panes(2).Close
        ActiveWindow.ActivePane.View.Type = wdPrintView
    End If

End Sub

Merci pour le coup de main !

Rechercher des sujets similaires à "casser liens champfusion impression fichier word"