1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
' les dimensions du diagramme dans la zone graphique
Dim diagramme_dimension As New com.sun.star.awt.Size
' la position du diagramme dans la zone graphique
Dim diagramme_position As New com.sun.star.awt.Point
' nombre de zones graphiques dans la feuille
Dim diagrammes_nombre As Integer
' la position de la zone graphique et les dimensions de la zone graphique, avec le diagramme et les titres, sous-titres, légende, etc.
Dim diagrammes_position_dimension As New com.sun.star.awt.Rectangle
' données pour la zone graphique
Dim diagrammes_donnees(3) As New com.sun.star.table.CellRangeAddress
Dim feuille As Object
Dim feuille_index As Integer
Dim feuille_nom As String
Dim feuille_active As Object
Dim feuille_active_index As Integer
Dim feuille_active_nom As String
Dim i As Integer
Dim x_minimum As Integer
Dim x_maximum As Integer
Dim y_minimum As Integer
Dim y_maximum As Integer
document = ThisComponent
feuille_1 = document.Sheets.getByName("Feuille1")
feuille_2 = document.Sheets.getByName("Feuille2")
feuille_3 = document.Sheets.getByName("Feuille3")
feuille_4 = document.Sheets.getByName("Feuille4")
feuille_5 = document.Sheets.getByName("Feuille5")
feuille_6 = document.Sheets.getByName("Feuille6")
feuille_7 = document.Sheets.getByName("Feuille7")
feuille_8 = document.Sheets.getByName("Feuille8")
' attention 100 = 1 mm - 1000 = 1 cm
diagrammes_position_dimension.X = 2000
diagrammes_position_dimension.Y = 2000
diagrammes_position_dimension.Width = 45000
diagrammes_position_dimension.Height = 36000
' série dette annuelle
' les données sont sur la feuille avec l'index 1 => feuille_2 = document.Sheets.getByName("Feuille2")
' pour la donnée de la légende, en-tête de la colonne B à savoir "Dette totale - Milliard "
diagrammes_donnees(0).Sheet = 1
diagrammes_donnees(0).StartColumn = 1
diagrammes_donnees(0).StartRow = 0
diagrammes_donnees(0).EndColumn = 1
diagrammes_donnees(0).EndRow = 0
' pour les données autres
' la numérotation des feuilles, des lignes et des colonnes commence à 0
diagrammes_donnees(1).Sheet = 1 ' la feuille ( "Feuille2" ) avec l'index 1
diagrammes_donnees(1).StartColumn = 0 ' la colonne A => 0 année abcisse
diagrammes_donnees(1).StartRow = 1 ' la ligne 2 => 1 début de la ligne des données
diagrammes_donnees(1).EndColumn = 1 ' la colonne B => 1 Dette ordonnée
diagrammes_donnees(1).EndRow = 42 ' la ligne 43 => 42 fin de la ligne des données
' série dette %
' pour la donnée de la légende, en-tête de la colonne C à savoir "Dette - % PIB"
diagrammes_donnees(2).Sheet = 1
diagrammes_donnees(2).StartColumn = 2
diagrammes_donnees(2).StartRow = 0
diagrammes_donnees(2).EndColumn = 2
diagrammes_donnees(2).EndRow = 0
' pour les données autres
' la numérotation des feuilles, des lignes et des colonnes commence à 0
diagrammes_donnees(3).Sheet = 1 ' la feuille ( "Feuille2" ) avec l'index 1
diagrammes_donnees(3).StartColumn = 0 ' la colonne A => 0 année abcisse
diagrammes_donnees(3).StartRow = 1 ' la ligne 2 => 1 début de la ligne des données
diagrammes_donnees(3).EndColumn = 2 ' la colonne C => 2 Dette % ordonnée
diagrammes_donnees(3).EndRow = 42 ' la ligne 43 => 42 fin de la ligne des données
..........
diagrammes_1 = document.Sheets(6).Charts
diagrammes_1.addNewByName("diagramme_nom_2",diagrammes_position_dimension,diagrammes_donnees(),True,True)
diagramme_1 = diagrammes_1.getByName("diagramme_nom_2").EmbeddedObject
diagramme_1.Diagram = diagramme_1.createInstance("com.sun.star.chart.LineDiagram")
' titre axe des ordonnées secondaire ( y )
diagramme_1.Diagram.HasSecondaryYAxis = True
'diagramme_1.Diagram.HasSecondaryYAxisDescription = True
diagramme_1.Diagram.HasSecondaryYAxisTitle = True
diagramme_1.Diagram.SecondYAxisTitle.String = "% PIB"
diagramme_1.Diagram.SecondYAxisTitle.TextRotation = 0
' lissage du diagramme => 0 : pas de lissage , 1: spline cubique , 2 : spline B
diagramme_1.Diagram.SplineType = 0
' modifier le symbole des points
' SYMBOL0 => carré
' SYMBOL1 => losange
' SYMBOL2 => triangle vers le bas
' SYMBOL3 => triangle vers le haut
' SYMBOL4 => triangle multidirectionnel
' SYMBOL5 => triangle multidirectionnel
' SYMBOL6 => 2 triangles qui se font face horizontalement
' SYMBOL7 => 2 triangles qui se font face verticalement
diagramme_1.Diagram.SymbolType = com.sun.star.chart.ChartSymbolType.SYMBOL1
diagramme_1.Diagram.YAxis.AutoMin = False
diagramme_1.Diagram.YAxis.AutoMax = False
diagramme_1.Diagram.YAxis.Min = 0
diagramme_1.Diagram.YAxis.Max = 3000
diagramme_1.Diagram.SecondaryYAxis.AutoMin = False
diagramme_1.Diagram.SecondaryYAxis.AutoMax = False
diagramme_1.Diagram.SecondaryYAxis.Min = 0
diagramme_1.Diagram.SecondaryYAxis.Max = 200
Xray diagramme_1.Diagram
'Xray diagramme_1.Diagram.Yaxis
'Xray diagramme_1.Diagram.SecondaryYAxis |
Partager