OVH Cloud OVH Cloud

Problème de liaison entre word et excel (chemin source)

14 réponses
Avatar
Spartan
Bonjour,
Voila mon problème:
J'ai un Doc Word qui est en liaison avec un doc Excel, c'est à dire, si je
change des données sur l'exel, ces données sont aussi changé sur le doc word.
Si je change d'emplacement les dossiers, le chemin de la liaison quant a lui
n'est pas changé donc les mises à jours ne peuvent se faire...
Il a t il un moyen pour avoir un chemin source qui permettrai de garder la
liaison tout en bougeant mes deux document?
Merci d'avance…

4 réponses

1 2
Avatar
Tisane
C'est Ok aussi avec Word 2003 dans le même dossier.
Spartan, tu es sauvé si tu acceptes que tes documents soient dans le même
dossier.

Merci et bonne après-midi à tous,

--
Tisane

"Tisane" a écrit dans le message de news:
%
Pas certain effectivement que Word puisse 'remonter'
les répertoires en relatif.
Si Toto.xls est dans le même répertoire que ton document
il suffit de faire { LINK Excel.Sheet.8 "Toto.xls" }
idem pour un sous-répertoire. À la mise à jour F9 Word
recompose et affiche un lien absolu mais le déplacement
des fichiers prouve que le lien est bien resté relatif.


En effet, si le fichier est dans le même dossier, Word transforme toujours
le chemin relatif en "absolu" mais le met à jour lors d'un déplacement des
2 fichiers (Word et Excel) dans un autre dossier.
Tes réponses sont toujours très précieuses.
Mais quid des sous-dossiers ?
J'ai fait des tests avec Word 2000. Avec 2003, je les ai bâclés mais j'ai
eu l'impression que cela ne fonctionnait pas.
Plus le temps maintenant de poursuivre... mais je viens d'apercevoir le
message de Spartan-008 qui va se faire un plaisir de prendre la relève.

A plus tard,

--
Tisane



Avatar
Spartan-008
C'est bon, ne chercher plus, j'ai trouvé la solution:)

Pour que le chemin se change automatiquement, il ne faut pas copier collé
sinon le fichier Word ne prend pas en compte le nouvel emplacement du dossier
Excel;
Il faut ouvrir les deux dossiers et enregistré le dossier exel dans le
nouvel emplacement désiré de cette manière le doc word prend en compte le
nouveau chemin...
Merci a vous deux, vous m'avez bien aidé!...

Une dernière petite chose, un petit clic sur la pub de cette page juste pour
quelle s'ouvre (c'est tout)... le section mRIM de Montauban vous remercie...:)

--
Vive les mRIM! www.mrim-network.net
...[un pti clic sur la pub pour payer le forum,
pitié:www.mrim-network.net/tutos.php]



il suffit de faire { LINK Excel.Sheet.8 "Toto.xls" }
Où je doit rentré cette "formule"?


Bon je vais t'expliquer en détail mon problème:
J'ai créé un doc excel et un doc word, dans word j'ai inséré un tableau exel
(copier du doc excel que j'ai créé) avec "collage spécial" et collage avec
liaison.(dsl pour les répétitions)

aperçu:
http://up.mezimages.com/up/06/939754pb_word_excel.jpg

et si je change les dossiers de place le chemin de la liaison, quant a lui
ne bouge pas...voila...

--
Vive les mRIM! www.mrim-network.net
...[un pti clic sur la pub pour payer le forum,
pitié:www.mrim-network.net/tutos.php]




Avatar
Anacoluthe
Bonjour !

'Tisane' nous a écrit ...
C'est Ok aussi avec Word 2003 dans le même dossier.
Spartan, tu es sauvé si tu acceptes que tes documents soient dans le même
dossier.


Dans le même répertoire c'est ce qu'il y a de plus sûr.

Mais en fait les LINKS de Word travaille comme ceux d'Excel
http://support.microsoft.com/kb/328440/en-us
en privilégiant les liens relatifs quand c'est possible
/y compris/ dans des répertoires différents ! Dans ce cas
il ne faut pas éditer le champ LINK, il faut laisser Word
résoudre le lien relatif tout seul. Pour des répertoires
fils du répertoire du document, ça marche très bien. Pour
des répertoires parents ou cousins, c'est moins garanti:
il semble y avoir une limite d' 'horizon' dans la recherche
d'un lien relatif. Le lien est alors déclaré invalide, il
faut le rétablir avec Edition / Liaisons

Anacoluthe
« Tout est relatif, et cela seul est absolu. »
- Auguste COMTE

Avatar
laszlo
Le jeudi 22 Juin 2006 à 10:49 par Spartan :
Bonjour,
Voila mon problème:
J'ai un Doc Word qui est en liaison avec un doc Excel, c'est à dire, si
je
change des données sur l'exel, ces données sont aussi
changé sur le doc word.
Si je change d'emplacement les dossiers, le chemin de la liaison quant a lui
n'est pas changé donc les mises à jours ne peuvent se faire...
Il a t il un moyen pour avoir un chemin source qui permettrai de garder la
liaison tout en bougeant mes deux document?
Merci d'avance…
Bonjour,
Word remplace les chemins relatifs par des chemins absolus dans les champs INCLUDEPICTURE, INCLUDETEXT, LINK, RD et HYPERLINK
C'est gênant lorsqu'on déplace les fichiers dans un autre dossier (ou lorsqu'on les envoie à quelqu'un qui les déposeradans un dossier qui ne portera pas forcément exactement le même nom)
Il existe une astuce géniale pour contourner ce problème, qui marche pour les champs INCLUDEPICTURE, INCLUDETEXT, RD et HYPERLINK mais malheureusement pas pour les champs LINK.
Cette astuce est présentée ici:
https://windowssecrets.com/forums/showthread.php/154379-Word-Fields-and-Relative-Paths-to-External-Files
Pour les champs LINK, il n'existe apparemment pas d'autre solution que de passer par une macro telle que la suivante, (que vous pourrez par exemple lancer à partir d'une autre macro AutoOpen):
Sub FichiersLiésDansDossierCourant()
Dim OldPath As String, NewPath As String
Dim Rng As Range, Fld As Field, i As Long
' Construction de la chaîne Newpath correspondant au dossier courant
For i = 0 To UBound(Split(ActiveDocument.Path, "")) - 0
NewPath = NewPath & Split(ActiveDocument.Path, "")(i) & ""
Next i
' Supprime les éventuels "" en fin de chaîne
While Right(NewPath, 1) = ""
NewPath = Left(NewPath, Len(NewPath) - 1)
Wend
' Ajoute un "" en fin de chaîne
NewPath = NewPath & ""
For Each Fld In ActiveDocument.StoryRanges(1).Fields
With Fld
' ignore les champs qui ne sont pas des liens vers des documents extérieurs
If Not .LinkFormat Is Nothing Then
With .LinkFormat
OldPath = Left(.SourceFullName, InStrRev(.SourceFullName, ""))
' Remplace l'ancien chemin par le nouveau (s'ils diffèrent)
If OldPath <> NewPath Then
.SourceFullName = Replace(.SourceFullName, OldPath, NewPath)
On Error Resume Next
.AutoUpdate = False
On Error GoTo 0
End If
End With
End If
End With
Next Fld
End Sub
1 2