Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

création d'un graphique avec le nom de la feuille dans une variable

chelsea

XLDnaute Nouveau
bonjour à tous

voila je souhaite automatiser la crétion d'un graphique à l'aide d'une macro
ce graphique se créer depuis une feuille spécifique

mon problème se situe au moment où le programme récupère les valeurs des abscisses

viola mon code
Code:
NomFeuille = ActiveSheet.Name
Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets(NomFeuille).Range("M19:N33"), _
        PlotBy:=xlColumns
    ActiveChart.SeriesCollection(1).Delete
    ActiveChart.SeriesCollection(1).XValues = "='NomFeuille'!R20C13:R33C13"
    ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Avancement DCT et DEV"
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = "DEV -%"
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With

la ligne qui ne va pas : ActiveChart.SeriesCollection(1).XValues = "='NomFeuille'!R20C13:R33C13"

merci
 

pierrejean

XLDnaute Barbatruc
Re : création d'un graphique avec le nom de la feuille dans une variable

bonjour chelsea

a tester

remplacement de
Code:
 ActiveChart.SeriesCollection(1).XValues = "='NomFeuille'!R20C13:R33C13"

par
 
 ActiveChart.SeriesCollection(1).XValues = "='" & NomFeuille & "'!R20C13:R33C13"
 

Catrice

XLDnaute Barbatruc
Re : création d'un graphique avec le nom de la feuille dans une variable

Bonjour,

essaye ceci :

Sub test()
NomFeuille = ActiveSheet.Name
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets(NomFeuille).Range("N19:N33"), PlotBy:=xlColumns
ActiveChart.SeriesCollection(1).XValues = Sheets(NomFeuille).Range("M19:M33")
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Avancement DCT et DEV"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "DEV -%"
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub

Edit : Bonjour PierreJean
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…