'Crée le graphique pour la revue éditée dans la fenetre Principale
'-Statistique des réponses renseignées
Dim Langue As String
Dim AmortissementAir, AmortissementAzote, i As Integer
Dim xlApp, xlSheet, xlGraph As Object
'Mise à jour de l'indicateur graphique
'Principale.Graphique = "CreationGraphiqueRéponses"
'On Error GoTo Fin
Screen.MousePointer = vbHourglass
'Informe "Ouverture de Excel", "Excel openning"
'Calcul des données nécessaires au graphique
AmortissementAir = "12"
AmortissementAzote = "20"
'Ouverture d'une instance d'Excel
Set xlApp = CreateObject("Excel.Application")
'Excel travaille en arrière-plan
xlApp.Visible = True
xlApp.DisplayAlerts = True 'Pas de message intempestifs au moment de la fermeture
'Ajout d'un classeur
xlApp.Workbooks.Add
'Ajout d 'une feuille dans le classeur
Set xlSheet = xlApp.Workbooks(1).Sheets(1)
'Informe "Création du graphique", "Preparation of the chart"
'Ecriture des légendes nécessaires au graphique
'Langue = Principale.ComboLangueLogiciel.Text
xlSheet.Range("A1").Select
If Langue = "Français" Then
xlSheet.Range("A1").FormulaR1C1 = "Amortissement"
Else
xlSheet.Range("A1").FormulaR1C1 = "Amortissement"
End If
xlSheet.Range("B1").FormulaR1C1 = Str(AmortissementAir)
xlSheet.Range("C1").FormulaR1C1 = Str(AmortissementAzote)
'Ajout d'un graphique
xlApp.Charts.Add after:=xlApp.Worksheets("Feuil1")
With xlApp.ActiveChart
.ChartType = 54 'xl3DPieExploded
.SetSourceData Source:=xlSheet.Range("A1:C8"), PlotBy:=8 ' _
'xlColumns
'.Location Where:=2, Name:="Graph1" 'xlLocationAsObject
'.HasTitle = False
.ApplyDataLabels 2, False
'Suppression du rectangle gris
.PlotArea.Select
xlApp.Selection.ClearFormats
'Grossissement de la police de la légende
.Legend.Select
xlApp.Selection.AutoScaleFont = True
With xlApp.Selection.Font
.Name = "Arial"
.FontStyle = "Normal"
.Size = 14
End With
'Déplacement de la légende
xlApp.Selection.Left = 540
'Grossissement de la police des étiquettes
.SeriesCollection(1).DataLabels.Select
xlApp.Selection.AutoScaleFont = True
With xlApp.Selection.Font
.Name = "Arial"
.FontStyle = "Normal"
.Size = 14
End With
'Copie le graphique dans le presse-papier
xlApp.ActiveChart.CopyPicture
End With
'Récupération du graphique dans l'image via le Presse-Papier
Me.Image1.Picture = Clipboard.GetData()
End Sub
Partager