

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
4 messages in org.openoffice.fr.progrécupérer les propriétés d'un diagramme| From | Sent On | Attachments |
|---|---|---|
| BOTTIN Laurence - DGMT/SG/AG2 | Jan 26, 2007 2:00 am | |
| BOTTIN Laurence - DGMT/SG/AG2 | Jan 26, 2007 4:25 am | |
| c.ma...@univitis.fr | Jan 26, 2007 5:18 am | |
| Laurent Godard | Jan 26, 2007 5:52 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | récupérer les propriétés d'un diagramme | Actions... |
|---|---|---|
| From: | BOTTIN Laurence - DGMT/SG/AG2 (laur...@equipement.gouv.fr) | |
| Date: | Jan 26, 2007 2:00:10 am | |
| List: | org.openoffice.fr.prog | |
Bonjour, Dans une feuille Calc, j'ai un diagramme qui a une mise en forme bien précise. Ce diagramme pointe vers un tableau dont le nombre de lignes augmente régulièrement. Je veux créer une macro qui mête à jour un diagramme lorsque l'utilisateur a fini sa saisie et qu'il clique sur un bouton, j'ai essayé un certains nombre de choses qui ne fonctionnent pas. Pour finir je pense qu'il faut créer à chaque fois un nouveau diagramme et lui appliquer les propriétés du diagramme pré-éxistant.
J'ai trouvé dans la documentation Sun la méthode pour créer un diagramme. Mais je bloque sur la façon dont on peut récupérer les propriétés d'un diagramme. L'enregistreur de macro a un fonctionnement très aléatoire lorsqu'il s'agit de travailler sur des diagrammes.
Est-ce qu'il existe un moyen de récupérer dans un tableau les propiriétés du diagramme ou du embededObject?:
Sub S_CreerNewDiag() Dim Doc As Object Dim Charts As Object Dim oChart0 as Object Dim oChart1 as Object Dim LigneDeb as Long Dim ColonneDeb as Long Dim Rect As New com.sun.star.awt.Rectangle Dim RangeAddress(0) As New com.sun.star.table.CellRangeAddress Dim oZone as Object Dim oZoneAdr As Object Dim oFeuille as Object Dim sNomChart as String Dim varBool
On Error GoTo Erreurs
Doc = StarDesktop.CurrentComponent oFeuille = Doc.sheets.getbyname("Feuille1") Charts = Doc.Sheets(0).Charts ligneDeb = 1 ColonneDeb = 0 Chart0=Charts(0) sNomChart = Chart0.name
if sNomChart = "MyChart" then sNomChart ="MyChart1" Else sNomChart ="MyChart" End if
NbLignes = F_LongueurTable("Feuille1", LigneDeb, ColonneDeb) 'on définit la zone de données utilisée pour actualiser le diagramme : cette méthode ne fonctionne pas ??? oZone = oFeuille.getCellRangeByName("A1:C" & 1 + NbLignes) oZoneAdr = oZone.getRangeAddress()
Rect.X = 8000 Rect.Y = 1000 Rect.Width = 10000 Rect.Height = 7000
RangeAddress(0).Sheet = 0 RangeAddress(0).StartColumn = 0 RangeAddress(0).StartRow = 0 RangeAddress(0).EndColumn = 2 RangeAddress(0).EndRow = 1 + NbLignes -1
Charts.addNewByName(sNomChart, Rect, RangeAddress(), True, True) 'on récupère le diagramme que l'on vient de créer Chart1=Charts(1) 'on applique les propriétés du diagramme original au nouveau diagramme
Chart1.HasColumnHeaders =Chart0.HasColumnHeaders 'Chart1.HasMainTitle =Chart0.HasMainTitle 'Chart1.Title =Chart0.Title 'Chart1.HasSubTitle =Chart0.HasSubTitle 'Chart1.SubTitle =Chart0.SubTitle 'Chart1.HasLegend =Chart0.HasLegend
'xray Chart0 'Chart1.embededObject.DataSourceLabelsInFirstColumn = Chart0.embededObject.DataSourceLabelsInFirstColumn 'ne fonctionne pas 'Chart1.embededObject.DataSourceLabelsInFirstRow =Chart0.embededObject.DataSourceLabelsInFirstRow 'ne fonctionne pas
Exit Sub Erreurs: erreur_num=err() erreur_txt=error(erreur_num) erreur_ligne = Erl() MsgBox(vl_projet & " :" & Chr(10) & Chr(10) & "erreur n° " + erreur_num + " à la ligne " + erreur_ligne + chr(13) + erreur_txt, 1 + 16, " S_CreerNewDiag")
End Sub
Merci d'avance
LAurence







