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]