La solution :
 
The following macro adds two rows to the existing Range of the first
chart in a CalcDocument

     theRanges = ThisComponent.Sheets(0).Charts(0).getRanges()
     theRanges(0).EndRow = theRanges(0).EndRow+2
     ThisComponent.Sheets(0).Charts(0).setRanges(theRanges)

Hope that helps

Regards

Stephan Wunderlich
----- Original Message -----
From: ch'prof
Sent: Sunday, August 14, 2005 9:02 PM
Subject: [prog] Ajouter une courbe à un diagramme XY

Imaginez une feuille Calc, on l'appelera FEUILLE_ACTIVE.
 
Les valeurs de la plage de cellules A1:B31 ont permit de tracer un diagramme XY que ma macro connaît sous le nom de DIAGRAMME.
 
XRay.Xray (Diagramme.ChartRangeAddress) me renvoit la chaîne 'FEUILLE_ACTIVE'.$A$1:.$B$31 et j'en suis très satisfait.
 
Ma macro ajoute des valeurs en A32, A33, C32 et C33. et je souhaite qu'elle insère automatiquement la nouvelle courbe correspondante dans DIAGRAMME.
 
Pour ce faire, j'ai testé toutes les variations possibles et imaginables basées sur :
 
Diagramme.ChartRangeAddress= "'FEUILLE_ACTIVE'.$A$1:.$C$33"
 
Et c'est là que ça déconne, car non seulement il n'y a pas de courbe supplémentaire dans mon diagramme, mais en plus, lorsque je vais contrôler moi même dans Calc la plage de données de mon diagramme, je trouve : #REF!:$C$33, alors que XRay.Xray (Diagramme.ChartRangeAddress) me renvoie bien 'FEUILLE_ACTIVE'.$A$1:.$C$33
 
Votre avis sur la question ?

Répondre à