Bonjour Sebastien Remy,
Quand on demande à voir le code cela aide mieux s'il est simplifié au maximum pour mettre en évidence le problème. Ce n'est pas le cas de ton codage. J'ai repris le diagramme "Disques Durs" du livre (fichier Code12-08.sxc) et je me suis inspiré de la première macro du fichier:

Sub ModifierDonneesDiagramme
Dim monDocument As Object, lesFeuilles As Object
Dim maFeuille As Object, maCellule As Object
Dim diag1 As Object, diag2 As Object, x As Long
monDocument = thisComponent
lesFeuilles = monDocument.Sheets
maFeuille = lesFeuilles.getByName("DiagLigne")

' rechercher l'objet OLE par son nom
diag1 = FindChartByObjName(maFeuille, "CapaDD")
if IsNull(diag1) then
  print "Le diagramme n'existe pas !"
else
  dim propf(0) as New com.sun.star.beans.PropertyValue
  propf(0).Name = "FilterName"
  propf(0).Value = "calc_pdf_Export"
  maCellule = maFeuille.getCellRangeByName("B8")
  maCellule.Value = 100 ' au lieu de 3200
  wait 10 ' si tempo insuffisante, on n'aura pas le diagramme mis à jour
monDocument.storeToURL(ConvertToURL("C:\Docs OpenOffice\testApres.pdf"), propf())
end if
End Sub

Quand j'exécute la macro je vois à l'écran que le diagramme se met à jour après "un certain temps". Si ma tempo est trop courte, le pdf montre le diagramme _avant_ modif. Si la tempo est suffisante, le pdf montre le diagramme après modif.

Je n'ai pas trouvé d'évènement pour détecter la fin de la mise à jour.
Comme la durée dépend entre autres de la vitesse et la charge du processeur, de la mémoire vive disponible, et de la complexité du diagramme, fais plutôt intervenir l'utilisateur. A la place du wait mettre:
  MsgBox("Cliquer OK quand le diagramme est à jour !")

 Bonne journée
   Bernard


Message du 2006-07-10 11:06:
Ok, je vais essayer d'expliquer plus correctement. J'ai une boucle for qui effectue un copier coller de lignes de données d'un fichier calc vers un autre fichier calc. Ce deuxième fichier contient des diagrammes générés à partir de mes données collées. Ensuite, le fichier est sauvegardé sous forme pdf. Avec un wait après la fin de la boucle et le début d'exportation en pdf, l'actualisation est apparemment aléatoire... Des fois ca marche, des fois non, et quelque soit la durée du wait ! Avec un wait juste après le début de la boucle, ca a l'air de marcher, comme quand je lance le programme étape par étape.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à