Bonjour Patrick, Merci pour cette réponse. Pour les tableaux, ce n'est pas bon dans mon cas car j'ai parfois des plages de cellules (celles d'origine) trop importantes en largeur pour que le dimensionnement d'un tableau soit réalisable sur la simple largeur d'une page A4. Par contre sous tableur je peux mettre au point facilement quelle que soit la largeur. Ensuite l'objet OLE dans le texte me permet de "zoomer" l'ensemble assez facilement. En fait s'il s'agissait de plages fixes toujours avec la même étendue, le travail en utilisant des tableaux me semblerait réaliste, sauf que là il s'agit d'un modèle mais qui doit être personnalisable à chaque cas et les mises à jour avec les tableaux sont trop pénibles. Ceci dit la technique avec tableaux je la conserve pour d'autres réalisations car elle est bien moins lourde et donc donne des résultats que je pense plus stables.
En ce qui concerne les chemins "relatifs", il me semble qu'il y a comme un bogue puisque, sauf incompréhension de ma part, le paramétrage outils > options > Chargement/enregistrement > Général > Enregistrement relatif des URL donne accès à deux cases à cocher "Système de fichiers" et "Interne" qui ne semblent pas avoir d'effet en tout cas dans un environnement Windows. Comme je souhaite avoir deux fichiers, un odt et un ods, placés dans le même dossier et qui travaillent ensembles, il me fallait trouver une solution pour contourner le problème. J'utilise ensuite cette paire de fichiers d'origine qui me sert de modèle et les clones doivent bien entendu être correctement liés. Je pense solutionner ce dysfonctionnement assez facilement en écrivant un script Autoit qui me mettra à jour le content.xml de l'odt en changeant les chemins absolus éronés par les chemins absolus adéquats. Maintenant, il me reste le souci de l'actualisation des liens DDE dans mes objets OLE internes. Et là moi pas savoir. La macro fournie plante avec comme message d'erreur Autrement j'ai essayé d'adapter une macro fournie par François GATTO sub ActualisationOLE dim oDoc as object dim oFrame as object dim aDsp dim aProps() oDoc = thisComponent ' frame concernée par l'actualisation oFrame = oDoc.CurrentController.Frame ' Mise à jour (actualisation) aDsp = createUnoService( "com.sun.star.frame.DispatchHelper" ) aDsp.executeDispatch( oFrame, ".uno:UpdateAll", "", 0, aProps() ) end sub mais ça ne fonctionne pas mieux Donc j'aimerais si possible, bien conscient des passions que déclenchent mon sujet, qu'on m'aide sur les macros d'actualisation car là je nage la grande brasse dans le Basic OOo. J'aurais tout de même découvert pas mal de choses auxquelles je ne pensais pas à travers les différentes approches pour traiter ce type de problèmes et je remercie donc tout le monde pour toutes ces réponses éclairantes. Serge. Le 9 mai 2008 19:14, Patrick <[EMAIL PROTECTED]> a écrit : > Bonsoir Serge, > tu remarques que le sujet ne passionne pas grand monde. A croire que tout > le mOOonde ne les utilise pas ou procède autrement. > > Serge DAUPHINOT a écrit : > >> Nouvelle possibilité, faire des objets OLE internes à l'odt, indépendants >> les uns des autres, et qui récupèrent les données par liens DDE sur le >> fichier ods externe. J'ai encore un problème avec les chemins absolus. >> Dans >> l'expression >> >> > Dans ce cas n'est-il pas plus simple d'utiliser un tableau et d'insérer les > liens DDE ? > >> =DDE("soffice";"G:\dossier1\dossier2\dossier3\Fichier.ods";"Feuille1.A1") >> le fichier "Fichier.ods" se trouve dans le même dossier qui contient le >> fichier odt contenant cet objet OLE. Comment peut-on faire pour adresser >> d'une manière relative et non absolue le fichier ? >> > > Je crois que cela ne fonctionne pas en relatif ! par contre on peut mettre > des liens Url > > =DDE("soffice";""http://www.Web.fr/Fichier.ods";"Feuille1.A1") > > On peut aussi faire un lien Ftp en cliquant sur la cellule OLE dans Writer > puis = puis on désigne la cellule cible dans le fichier Calc et on valide > (Enter). > On obtient : > ='file:///G:\dossier1\dossier2\dossier3\Fichier.ods'#$Feuille1.A1 > > Mais c'est un lien Manuel. A voir si la macro suivant affectée à un bouton > ou autre permet de faire la mise à jour plus facilement > > Sub PysMajDDE > dim i as integer > for i = 0 to thiscomponent.DDELINKS.count – 1 > thiscomponent.DDELINKS.getByIndex(i).refresh > next i > End Sub > > Cela te convient ? > > Cordialement > Patrick > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >