Nom d'un chart

DarkCid Messages postés 195 Date d'inscription mardi 22 février 2005 Statut Membre Dernière intervention 26 octobre 2009 - 15 nov. 2006 à 15:27
cs_carvals Messages postés 50 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 23 janvier 2008 - 20 nov. 2006 à 12:18
Yaoh !

Je dois générer automatiquement des graphiques histogramme pour mon projet. Le problème, c'est que je ne sais pas à l'avance combien en faire. Bon, j'ai fait un enregistrement macro sous excel et voilà grosso modo ce qu'il me donne :

Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets("Bulletin General").Range("I23:I27") _
        , PlotBy:=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:="Bulletin"
    With ActiveChart
        .HasAxis(xlCategory, xlPrimary) = False
        .HasAxis(xlValue, xlPrimary) = False
    End With
    ActiveChart.Axes(xlCategory, xlPrimary).CategoryType = xlAutomatic
    With ActiveChart.Axes(xlCategory)
        .HasMajorGridlines = False
        .HasMinorGridlines = False
    End With
    With ActiveChart.Axes(xlValue)
        .HasMajorGridlines = False
        .HasMinorGridlines = False
    End With
    ActiveChart.HasLegend = False
    ActiveChart.HasDataTable = False
    ActiveChart.SeriesCollection(1).Select
    With ActiveChart.ChartGroups(1)
        .Overlap = 0
        .GapWidth = 10
        .HasSeriesLines = False
        .VaryByCategories = False
    End With
    ActiveChart.ChartArea.Select
    ActiveSheet.Shapes("Graphique 6").ScaleWidth 0.52, msoFalse, _
        msoScaleFromTopLeft
    ActiveSheet.Shapes("Graphique 6").ScaleHeight 0.45, msoFalse, _
        msoScaleFromTopLeft
    ActiveSheet.Shapes("Graphique 6").IncrementLeft 105#
    ActiveSheet.Shapes("Graphique 6").IncrementTop 132#
    ActiveSheet.Shapes("Graphique 6").ScaleWidth 0.66, msoFalse, _
        msoScaleFromTopLeft
    ActiveSheet.Shapes("Graphique 6").ScaleHeight 0.62, msoFalse, _
        msoScaleFromTopLeft
    ActiveChart.PlotArea.Select
    Selection.Width = 110
    Selection.Height = 44
    Selection.Left = 1
    Selection.Width = 118
    Selection.Top = 1
    Selection.Height = 52
    ActiveWindow.Visible = False
    Windows("Liste des Matières.xls").Activate

Mon principal problème vient du "Graphique 6". Je ne sais pas comment le récupérer ou, mieux le changer. De plus, j'ai essayer de faire un ActiveChart.Name = "truc" mais il me met une erreur.

En fait, à chaque fois que j'en fait un nouveau, le chiffre augmente, mais bon, si je dois changer mon code à chaque fois que je fais un essai, sa va pas vraiment le faire

Au pire, vous auriez pas un moyen de réinitialiser ce chiffre une fois tous les graphes supprimés ?

6 réponses

VisualBoinet Messages postés 64 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 14 juin 2007
17 nov. 2006 à 13:29
Salut ta essayé :

ActiveSheet.Shapes("Graphique 6").name = "truc" ?
et sinon : pourquoi tu n'enregistre pas une macro ou tu change simplement le nom de ton graph et il te filera le code...

a+
0
DarkCid Messages postés 195 Date d'inscription mardi 22 février 2005 Statut Membre Dernière intervention 26 octobre 2009 1
17 nov. 2006 à 13:51
j'ai déjà essayé oui.

je peux trouver le nom par enregistrement macro, mais c'est manuellement. je n'arrive pas à le trouver de façon automatiquement.
0
VisualBoinet Messages postés 64 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 14 juin 2007
17 nov. 2006 à 14:55
Me suis mal exprimé :p

Une fois que ton graph est fait tu fait une nouvelle macro.
Pendant qu'elle enregistre tu change manuellement le nom de ton graphique
Puis tu arrete ta macro. Tu vas voir le code et ce sera marqué comment faire ...

Bon courage :)
0
VisualBoinet Messages postés 64 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 14 juin 2007
17 nov. 2006 à 14:55
Me suis mal exprimé :p

Une fois que ton graph est fait tu fait une nouvelle macro.
Pendant qu'elle enregistre tu change manuellement le nom de ton graphique
Puis tu arrete ta macro. Tu vas voir le code et ce sera marqué comment faire ...

Bon courage :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DarkCid Messages postés 195 Date d'inscription mardi 22 février 2005 Statut Membre Dernière intervention 26 octobre 2009 1
17 nov. 2006 à 14:58
d'accord, mais où c'est-y que tu le change manuellement le nom du graphique ?
0
cs_carvals Messages postés 50 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 23 janvier 2008
20 nov. 2006 à 12:18
Il suffit d'appuyer sur la toucher Ctrl et de clicker sur la zone du graph ensuite tu verras la boite de dialogue en haut a gauche se mettre en mode edit.


en fait les graphique sont assez complexe car ils ont des Chart Area, Plot area legend ... etc ce qui englobe le tout est "Shapes" dc pour changer le nom de ton graph via macro utilise:

i = ActiveSheet.Shapes.Count
ActiveSheet.Shapes(i).Select   'ou Activesheet.shapes("Le nom de ton graph").select
Selection.Name = "Graph1"

La propriete "shapes" fonctionne comme toute les autres a savoir tu peux selectionner un "shape" avec son nom ou alors son index. Si ta macro cree un graph a chaque fois alors l'index de ton graph sera automatiquement le dernier numero ou "Shapes.count"

j'espere que ca te seras utile.

carvals
0
Rejoignez-nous