XL 2013 Liaisons Word / Excel : quelle solution retenir et comment la mettre en œuvre

LMOAL

XLDnaute Nouveau
Bonjour,
je me permets de remonter cette conversation qui m'intéresse.

J'ai également travaillé ces liaisons word-excel mais je rencontre quelques difficultés qui me posent question.
J'ai un document word "type" qui fait appel à de nombreuses autres références que, pour des raisons de praticité et d'automatisation, je renseigne dans une feuille excel.

Je procède aujourd'hui par la fonction "collage spécial", "coller avec liaison / sans mise en forme". La méthode que j'ai utilisée est celle d'un fichier excel "source" et d'une macro word qui vient changer le chemin d'accès à ce fichier excel pour récupérer les données via une boite d'appel.

ex :

LINK Excel.Sheet.12 "D:\\Prépa\\RAPPORT\\Fichiers source définitifs\\CADRE à remplir.xlsx" "Cadre AG!L1C2" \a \f 5 \h \* MERGEFORMAT

Remplacé par
LINK Excel.Sheet.12 "C:\\DOCUMENTS\\CADRE rempli.xlsx" "Cadre AG!L1C2" \a \f 5 \h \* MERGEFORMAT

Globalement, cela fonctionne... mais lorsque je déplace les fichiers c'est parfois aléatoire et peu satisfaisant et, une fois mon chemin remplacé, tel que j'ai écrit ma macro, je ne peux plus le changer... ce qui est dommage, plus des soucis liés au format.

Je voudrais donc :
1) Remplir un fichier excel avec mes différentes données et informations qui seront reprises dans un fichier word "standard" (plus d'une 100aine de variables : ex. Nom du dossier, adresse, dates, décisions...)
2) A l'entrée dans word, je souhaite pouvoir actualiser mon chemin "à loisir" afin d'intégrer ces données dans le texte "standard" et mettre à jour mon fichier.
3) Enregistrer le word sous sa forme définitive.

J'ai plusieurs interrogations : la méthode "collage spécial" est-elle la plus adaptée ? Ne devrais-je pas partir sur des signets comme évoqué ci-dessus ? Une définition de cellules sous excel ? Quelle méthode me permettrait de conserver l'objectif poursuivi ? Le copier-coller a été fastidieux mais je suis prêt à recommencer si je peux améliorer le tout.

J'ai testé un fichier "modèle" mais c'était lourd, j'ai donc opté pour un .docm et pour ne pas écraser le fichier source, je viens proposer d'enregistrer directement après le choix du chemin... c'est fonctionnel mais pas idéal.

D'avance merci pour vos avis
 

Staple1600

XLDnaute Barbatruc
Re

@laurent950
Si j'ai bien compris, il y a plusieurs sociétés
Admettons qu'il y ait 50 sociétés
Il faut donc générer 50 Rapports
Donc lancer la macro 50 fois et changer le nom du fichier 50 fois et mettre à jour les liens 50 fois
?

J'ai du mal à voir comment ce mode de fonctionnement peut être ergonomique à l'usage.

Mais bon, ce n'est pas ma situation de travail mais celle de LMOAL
(heureusement pour mes doigts et ma souris ;))
 

laurent950

XLDnaute Accro
et changer le nom du fichier 50 fois et mettre à jour les liens 50 fois
?
Pourquoi changer 50 fois le nom du fichier ?
Il n y a rien a faire la macro se lance traite les 50 rapports, et créer 50 fichiers et le fichier word lui change pas.
Juste lancé la macro et fini en une fois

Tu as compris le code que j ai posté dans le fichier word ? Si tu veux je t explique le principe

J'ai créé 1 seule car je connais pas son métier etc.
Mais je peux en créer 1000 en une fois même plus c est pas un soucis
 

Staple1600

XLDnaute Barbatruc
Re

@laurent950
Si j'ai bien compris (en relisant tout le fil)
Il y autant de fichier Excel de ce type CADRE PV ET RAPPORT NomSOCIETE.xlsx que de sociétés

Donc si il faut générer N rapport parce qu'il y a dans le dossier
CADRE PV ET RAPPORT NomSOCIETE_1.xlsx
CADRE PV ET RAPPORT NomSOCIETE_2.xlsx
...
CADRE PV ET RAPPORT NomSOCIETE_N.xlsx

Alors il faut bien changer le nom du fichier Excel dans le code VBA, non ?

PS: Pourquoi tu passes par un module de classe pour insérer des signets ?
 

laurent950

XLDnaute Accro
Bonjour @Staple1600
Alors il faut bien changer le nom du fichier Excel dans le code VBA, non ?
La procédure VBA pourra récupérer les fichiers Excel par la suite et traité les opérations une fois que l'organisation sera vu par @LMOAL et que la réponse sera apporter à comment récupérer les informations dans les fichiers Excel pour alimenté le fichier modèle Word qui lui une fois modifié sera enregistré sous (une extension .docx avec un nom de fichier qu i choisira pour cette construction à partir des valeurs dans les fichier Excel, numéro de dossier, siret, date, incrémentation, etc.)

PS: Pourquoi tu passes par un module de classe pour insérer des signets ?
Je ne connais pas la finalités de se que @LMOAL désire pour l instant il y a des données d'entrée et j en ai établie des données de sortie, le principe du module de classe associé à cette variable collection laisse beaucoup de souplesse pour pouvoir enrichir sa demande soit nouvelle données d entré complentaire pour des nouvelles données de sortie, je me servirais de ce principe de code avec le module de classe. C'était l'idée de départ quand j'ai relu le premier poste dont tu as suggéré d'y créer un nouveau Poste et tu as eu raison @Staple1600
 

LMOAL

XLDnaute Nouveau
Bonjour !
Mon fichier a bien avancé et je reviens avec ce fichier test... Lors du remplacement de signets sous word, je perd la mise en forme des chiffres : montants en €, pourcentages...

Par ailleurs, lorsque j'ai plusieurs fois la même référence de signet je n'arrive pas faire de renvoi vers le premier signet ou à reprendre la donnée.

D'avance merci pour vos avis !
Laurent
 

Pièces jointes

  • CADRE PV ET RAPPORT à remplir_LMOAL.xlsx
    13.5 KB · Affichages: 1
  • Rapport OK 092023 - TEST_Code VBA.docm
    48.9 KB · Affichages: 2

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 220
Membres
103 158
dernier inscrit
laufin