Tableau() déclarer d’une façon dynamique et avec une portée la plus large possible

Henrigp

XLDnaute Nouveau
Bonjour,

Afin de créer un graphique dynamiquement, j’aimerai créer des tableaux d’entier d’une façon dynamique, mais je ne sais pas comment m’y prendre
Ces tableaux n’ont qu’une dimension, mais peuvent avoir jusqu’a 60 index (12 mois * 5 année)
Le nombre de tableaux que j’aurai à créer provient du nombre de sélections dans une liste à multi-sélection, disons entre trois et quinze,
En plus j’aimerai mettre le tout dans une classe
Je vous donne ce que j’ai fait jusqu'à présent

Merci par avance de votre aide,

Code:
Sub Chart_assembl()
Dim ChartObj As ChartObject
Dim Jerome As Series
Dim claire As Series
Dim henri As Series
 
On Error Resume Next
ActiveSheet.ChartObjects("MYCHART1").Delete 'DELELTE ANY OLDER CHARTS IN THE SHEET
 
Set ChartObj = ActiveSheet.ChartObjects.Add(Left:=20, Top:=200, Width:=400, Height:=400) 'CREATE A NEW CHART
ChartObj.Chart.HasTitle = True
 
ChartObj.Chart.ChartTitle.Caption = "SPOC" 'OK ou ChartObj.Chart.ChartTitle.Text = "SPOC" 'OK
ChartObj.Name = "MYCHART1"
 
'*************************************
 With ChartObj.Chart
           With .Axes(xlCategory)
             .HasTitle = True
             With .AxisTitle
               .Font.Size = 10
               .Font.Bold = True
               .Characters.Text = " Mois "
             End With
           End With
 
           With .Axes(xlValue, xlPrimary)
             .HasTitle = True
             With .AxisTitle
               .Font.Size = 10
               .Font.Bold = True
               .Characters.Text = "Echelle des heures"
             End With
           End With
 
            With .Axes(xlValue, xlPrimary)      'Y Ordonnée, côté Gauche
                .MaximumScale = 23    ' Valeur maximum 23 jours ouvrable max
                .MinimumScale = 1     'Valeur minimum
                .MajorUnit = 1        'Intervalle de l'echelle
            End With
           '*********************************
         End With
'***************************************
Set Jerome = ChartObj.Chart.SeriesCollection.NewSeries
With Jerome
    .Name = "JÉRÔME" '
    .Values = S602662() 'Le tableau du même nom
    .XValues = tab_mois() 'ordonnée
    .ChartType = xlColumnClustered
End With
 
Set claire = ChartObj.Chart.SeriesCollection.NewSeries
With claire
    .Name = "Claire"
    .Values = S601025() 'Le tableau du même nom
    .ChartType = xlColumnClustered
End With
 
Set henri = ChartObj.Chart.SeriesCollection.NewSeries
With henri
    .Name = "Henri"
    .Values = S610906() 'Le tableau du même nom
    .ChartType = xlColumnClustered
End With
 
'MsgBox ChartObj.Chart.SeriesCollection.Count 'Me donne le nombre de serie dans le gragpique
'Application.StatusBar = ChartObj.TopLeftCell.Address & " : " & ChartObj.BottomRightCell.Address
 
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35