OVH Cloud OVH Cloud

Liaison Excel Word

1 réponse
Avatar
Pyngu
Bonjour.

Est-il possible, à partir Excel d'ouvrir un document Word, et qu'une partie
du document Word dépende du fichier Excel.

Je m'explique:
Prenons par exemple un tableau Excel reprenant la liste des travailleurs
d'une entreprise.
Il y a des ouvriers et des employés, et à chacun correspond une ligne avec
les coordonnées,...
Il faudrait qu'en cliquant soit sur un bouton soit sur une cellule (genre
hyperlien) un document Word soit ouvert.
Là où ça se complique, c'est de ne vouloir que deux document Word, 1 modèle
ouvrier et 1 modèle employé, et que à l'ouverture, les coordonnées du
travailleur soient reprise dans le document Word.

Pour le moment j'était partit simplement sur des hyperlien, mais bien
entendu, je n'ai pas de mise en rapport des coordonnées :(

Si quelqu'un peut m'aiguiller sur le chemin à prendre se serait vraiment
top.
Merci d'avance
Mathieu

1 réponse

Avatar
abcd
Bonjour

j'ai eu à traiter un problème un peu similaire

ce que j'ai fait, c'est de mettre dans un documetn Word modèle des
champs type signet pour placer le curseur là où j'en avais envie

puis c'est VBA (sous excel) qui se charge d'ouvrir le document Word,
puis se palcer à chaue endroit et écrire les rubriques qui m'intére ssaient.

C'est encore ce que j'ai trouvé de plus souple et de plus fiable.
Car si tu commences à utiliser le publipostage ou des choses plus
compliquées du genre, ça finit toujours pas planter un jour ou l'autr e.

Sans parler des difficultées à faire évoluer les choses
(là tu n'as qu'à modifier le VBA et le modèle Word initial)

' on commecne par dupliquer le fichier modèle vers un nouveau nom
FileCopy "C:CheminModèle.doc", "C:CheminDestination.doc"
'on ouvre ce nouveau fichier Word
Dim WORD As Object
'la suite nécessite d'avoir activé la référence :
' Microsoft Word 9.0 Object Library
' dans Outils>Références de l'éditeur VBA
Set WORD = CreateObject("Word.Application")

WORD.Application.Visible = True
WORD.Documents.Open Filename:= "C:CheminDestination.doc"

' on va vers un signet du fichier
WORD.Selection.GoTo What:=wdGoToBookmark, Name:="NomDuSignet "

' on déplace le curseur de 2 crans à droite par exemple
' utile si le signet est placé juste avant deux-points ": "
WORD.Selection.MoveRight Unit:=wdCharacter, Count:=2

' on tape ce qui a besoin d'être tapé
WORD.Selection.TypeText "Toto"

WORD.ActiveDocument.Save
Set WORD = Nothing 'on libère la mémoire VBA pour excel

On se retrouve avec un nouveau fichier Word précomplété et prés auvé,
libre à manipuler par l'utilisateur. Ce fichier Word est un document
banal et comme un autre. Donc pas moins stable et non dépendant d'une
base de données.