i

Lien vers des données externes


Suite aux différents échanges récents sur ce sujet, j'ai fait quelques

tests pour essayer de comprendre. Il me semble qu'on peut insérer un

lien vers des données externes de deux façons différentes :


méthode 1 : utiliser le dialogue Insertion > Lien vers des données

externes... Dans ce cas on ne peut accéder qu'aux plages nommées des

fichiers tableurs


>>> On récupère aussi de cette façon le FORMATAGE des cellules source(s?) ce qui

n'est pas toujours souhaité.


méthode 2 : insérer une formule de la forme

"='file:///home/user/source.ods'#$Feuille1.A1:B2" ou

=DDE("soffice";"/home/user/source.ods";"Feuille1.A1:B2"). Si on utilise

une formule matricielle (validation de la formule par ctrl+maj+entrée)

on peut ainsi récupérer une plage de données quelconque.


>>> la formule de type :

=DDE("soffice";"/home/user/source.ods";"Feuille1.A1:B2")

ressemble à s'y méprendre à celle retournée par le "collage spécial/lier"


Dans les deux cas OOo voit un lien et celui-ci apparait dans le dialogue

Édition > Liens... et les deux peuvent être rompus mais avec des

résultats différents :

- avec la méthode 1 on a l'effet naturellement attendu : les données

sont dans le fichier mais sans le lien vers la source des données. Si on

enregistre le fichier après avoir rompu le lien et si on le recharge,

aucune mise à jour de lien n'est proposée.


>>> Oui


- avec la méthode 2 on peut rompre le lien mais la formule reste

inchangée et tout se passe comme si le lien était automatiquement

recréé. Si on enregistre le fichier et qu'on le recharge, une

proposition de mise à jour des liens apparait. On s'attendrait dans ce

cas à ce que, lors de la rupture du lien, la formule soit remplacée par

la ou les valeurs correspondantes comme on peut le faire avec le collage

spécial en désactivant le collage des formules. Mais ce n'est pas le cas

et je ne sais pas si c'est un bug ou si c'est fait exprès pour une

raison qui m'échappe.


>>> éventuellement, mais aussi s'attendre à ce que la formule RESTE (afin de

conserver une trace) dans le but de pouvoir réactiver le lien en cas de

besoin, en supposant qu'il ne soit utile que sous certaine conditions et

qu'il y  ait plusieurs dizaines de liens à gérer.


Apparemment il n'y a rien dans l'aide sur la rupture des liens vers les

donnés externes. Le bouton Aide du dialogue renvoie vers la page

d'entrée de l'aide de Calc.


Mes questions sont les suivantes :

- quelle méthode recommandez-vous ? Pour moi ce serait la méthode 1 mais

elle a l'inconvénient qu'on ne voit pas que le contenu d'une cellule

provient d'un fichier lié. Le seul moyen que j'ai trouvé pour obtenir

cette info est de passer par le navigateur et de double-cliquer sur une

plage liée pour savoir où elle se trouve.


>>> Moi aussi mais le fait que cette méthode récupère le formatage ne plaît (ou ne

satisfait) pas.


>>> si il ne s'agissait que d'un seul lien cette méthode serait efficace ; il

suffirait de choisir entre oui ou non.


Ce serait plus utile qu'il soit possible d'activer ou désactiver un lien en

fonction d'un besoin le concernant.


en regardant encore plus loin, l'idéal serait d'ajouter une option à la

rupture ; est-ce que le lien doit-être rompu définitivement-> alors  rupture

définitive, sinon est-ce que ce lien est susceptible d'être réactivé->alors

le bout de code qui va bien.


- est-ce que le comportement de la méthode 2 lors de la rupture du lien,

vous parait conforme à ce que vous attendez ou a une utilité ?