Mise à jour de toutes les liaisons Word

Fermé
MDF - 28 sept. 2015 à 12:04
 MDF - 7 oct. 2015 à 14:23
Bonjour,

J'ai un petit souci que vous pourrez surement résoudre.
J'ai pour le moment une centaine de liaisons d'un fichier Excel 2013 vers Word 2013,
ce qui me permet de créer un template d'offre automatisé avec quelques champs Excel à remplir qui viendront mettre à jour l'ensemble du Word.

Le fichier Excel maitre est protégé dans son arrangement de cellules et n'est pas censé changé dans le temps.

En revanche, pour chaque offre "Projet1" effectuée, je souhaite sauvegarder un fichier Word et son référent Excel avec le nom "Projet1".


Aujourd'hui, je procède en:
1) ouvrant mon Word "template"
2) sauvegardant d'emblée ce Word à part en "Projet1"
3) dans "Projet1.docx",fichier -> information -> modifier les liens d'accès -> ouvrir la source (de la première liaison)
4) Je renomme et sauvegarde ailleurs ce fichier Excel en "Projet1"

5) J'essaie ensuite de sélectionner toutes mes liaisons --> modifier la source.

Or mon problème, je dois sélectionner pour chaque source le même fichier autant de fois que mon nombre de liaisons.
Avez-vous mieux svp pour faire une fois la manip (je compte à terme augmenter mon nombre de liaisons)?

En vous remerciant par avance,
MDF


A voir également:

1 réponse

m@rina Messages postés 20077 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 25 avril 2024 11 272
28 sept. 2015 à 15:12
Bonjour,

Il y a une chose que je ne comprends pas : puisque les fichiers Excel ne sont pas appelés à être modifiés, pourquoi les recopier à chaque fois ?

Sinon, dans ta méthode, tout n'est pas conforme aux règles de l'art wordiennes ! :)
1) ouvrant mon Word "template"
On n'ouvre pas un template, on crée un nouveau document basé sur ce template, ce qui évite déjà les modifs et enregistrements avec le même nom. Un template a une extension dotx et se met dans le dossier Templates. Pour créer un nouveau doc : Fichier => Nouveau et on choisit le modèle.

m@rina

0
Marina,

merci pour votre réponse rapide.
L'Excel n'est pas modifié dans sa forme mais il l'est dans le contenu des cellules à chaque offre. Si jamais on souhaite donc revenir sur une offre éditée par le passé, il faut forcément la refaire de 0.

Merci pour le conseil template.

En revanche, avez-vous une réponse à ma question initiale pour changer en même temps toutes les sources du fichier Word?
J'ai tenté par alt+F9 en faisant des "ctrl+H - remplacant l'ancien lien par le nouveau" : cela fonctionne dans le document ouvert. Seulement quand je ferme ce docuement et le ré-ouvre, il reprend les liens initiaux...

Merci
0
m@rina Messages postés 20077 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 25 avril 2024 11 272
28 sept. 2015 à 18:46
C'est bizarre car c'est exactement la solution à adopter. Il n'y a aucune raison que les liens initiaux se remettent tout seuls si tu as enregistré ton fichier avant de fermer. Et je précise qu'il ne faut même pas aller dans la boîte de dialogue des liens.

Je viens encore de faire un test, et je n'ai pas de soucis là dessus. Les liens sont bien modifiés.

Sinon, il faut une macro, mais Word gère de moins en moins bien les objets OLE par macro. Cette macro :

For Each tablo In ActiveDocument.InlineShapes
If tablo.Type = wdInlineShapeLinkedOLEObject Then
With tablo.LinkFormat
.SourceFullName = "D:\..... .xlsx" 'mettre le nouveau lien
.AutoUpdate = True
End With
End If
Next


je ne suis pas certaine qu'elle va fonctionner avec les dernières versions. Avec 2016 par exemple, ça ne marche pas, il ne reconnaît pas les objets Excel comme des InlineShapes, ni comme des Shapes... Sinon, ça devrait marcher avec une version ancienne.

Alors bien sûr on peut faire une macro pour modifier les champs, mais ça revient à faire un recherche remplacer.

nbtablo= ActiveDocument.Fields.Count
For x = 1 To nbtablo
ActiveDocument.Fields(x).LinkFormat.SourceFullName = "D:\..... .xlsx"
Next x


Attention parce que ce dernier code est violent car il remplace tous les liens de tous les champs. Donc, s'il existe d'autres champs avec d'autres liens, c'est à éviter.

Si tu veux tester les macros, fais-le sur une copie.

m@rina
0
MDF > m@rina Messages postés 20077 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 25 avril 2024
7 oct. 2015 à 14:23
Marina,

merci à vous.
Pour les macros, je laisse tomber. Je vais tenter le alt+F9 et limiter les mofications du fichier.
Bien a vous,
MDF
0