Bonjour,

J'ai réussi à partir d'une feuille de données à tracer un graphe sur une seconde feuille. J'aimerais pouvoir dans le code de la macro, réussir également à changer quelques propriétés de ce graphe:

Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Sub Graphe()
'
' Graphe Macro
'
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(1).Name = "=""Temp"""
    ActiveChart.SeriesCollection(1).XValues = "='Falex5023'!$A:$A"
    ActiveChart.SeriesCollection(1).Values = "='Falex5023'!$B:$B"
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(2).Name = "=""Torque"""
    ActiveChart.SeriesCollection(2).XValues = "='Falex5023'!$A:$A"
    ActiveChart.SeriesCollection(2).Values = "='Falex5023'!$I:$I"
    ActiveChart.SeriesCollection(1).Select
    ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveChart.SeriesCollection(1).AxisGroup = 2
    ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveChart.SeriesCollection(1).Select
    ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Graph"
    ActiveChart.HasTitle = True
    ActiveChart.ChartTitle.Characters.Text = "Falex X"
    ActiveChart.Axes(xlCategory, xlPrimary).HasTitle = True
    ActiveChart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Time (s)"
    ActiveChart.Axes(xlValue, xlPrimary).HasTitle = True
    ActiveChart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Torque (N.m)"
    ActiveChart.Axes(xlValue, xlSecondary).HasTitle = True
    ActiveChart.Axes(xlValue, xlSecondary).AxisTitle.Characters.Text = "Temp (°C)"
End Sub
Les modifications qu'il me reste à faire sont:
-la mise en place du titre de l'axe secondaire dans l'autre sens (pivoté de 90° mais vers la droite)
-l'indication du titre pour le graphe qui est tout simplement le nom de la première feuille (ou le nom du fichier sans l'extension)
-l'indication des cellules à sélectionner qui se trouvent dans la feuille portant le nom du graphe (ou première feuille) et non pas dans une feuille avec un nom spécifié comme à la ligne 11 ou 12 du code (Falex****).

J'ai tenté des choses et pour cela j'obtiens:
  1. Pour le titre de l'axe secondaire, je ne vois pas où le pivotement du titre se faire concrètement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        ActiveSheet.ChartObjects("Graphique 1").Activate
        ActiveChart.Axes(xlValue, xlSecondary).AxisTitle.Select
        ActiveSheet.ChartObjects("Graphique 1").Activate
  2. Pour le titre du graphique, j'ai pensé à mettre la feuille active comme étant la première, pour après ressortir le nom comme étant celui du graphique mais je n'ai pas réussi; Le code m'affiche une erreur qui indique "OBJET REQUIS" (j'ai essayé avec les deux lignes suivantes séparément)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        ActiveWorkbook.ActiveSheet.Set Worksheet = Workbook.Worksheets(1)
        Set Worksheet = Workbook.Worksheets(1)
  3. Pour la sélection des cellules, je pense mettre une sélection dans la feuille 1, mais je ne sais pas comment faire.


Si vous pouviez m'aider sur ce sujet, je vous en serais reconnaissant.
Merci d'avance