Aide pour tableau

joejon

XLDnaute Nouveau
Bonjour ,

Voila j'ai un message d'erreur sur ce module & j'aimerai le resoudre


Voici mon code :

Sub gr_compte_de_résultats()


Application.ScreenUpdating = False
ThisWorkbook.Sheets("PLAN DE CHARGE").Range("E2:p2").Copy
ThisWorkbook.Sheets("PLAN DE CHARGE").Range("E16:p16").Copy

'créer un nouveau classeur et y coller les données
Set nouv = Workbooks.Add
Set pg = nouv.Sheets(1)
pg.Paste
pg.Cells(1).PasteSpecial Paste:=xlValues

'figer les données
For num = 1 To 12
.SeriesCollection(num).XValues = ThisWorkbook.Sheets("PLAN DE CHARGE").Range("c2:p2").Value
.SeriesCollection(num).Values = ThisWorkbook.Sheets("PLAN DE CHARGE").Range("c" & num + 2 & ":p" & num + 2).Value
.SeriesCollection(num).Name = ThisWorkbook.Sheets("PLAN DE CHARGE").Range("b" & num + 2).Value
Next

'tracer le graphique
Set gr = nouv.Charts.Add
With gr
.SetSourceData Source:=Sheets("Feuil1").Range("A1:F5"), PlotBy:=xlRows
.ChartType = xlLine
.Location Where:=xlLocationAsNewSheet
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "années"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "TOTAL_CDC"
.PlotArea.Interior.ColorIndex = 2
.Axes(xlValue).MajorGridlines.Border.LineStyle = xlDot
.ChartArea.Font.Size = 14
.Deselect
End With
Application.ScreenUpdating = True



'faire le ménage
Set pg = Nothing
Set gr = Nothing
Set nouv = Nothing
End Sub
 

JNP

XLDnaute Barbatruc
Re : Aide pour tableau

Bonjour Joejon et bienvenue :),
Déjà, dans la partie 'Figer les données, tu as des .SeriesCollection qui ne font référence à rien, vu qu'ils ne sont pas entourés de With / End With... :rolleyes:
Après, sans fichier, avec du code pas mis entre balise, difficile d'en dire plus :eek:...
Bonne suite :cool:
 

joejon

XLDnaute Nouveau
Re : Aide pour tableau

J'ai bien mi les 'with' and les ' and with' mais 2éme message d'erreur : Erreur d'execution 424
Sub gr_compte_de_résultats()


Application.ScreenUpdating = False
ThisWorkbook.Sheets("PLAN DE CHARGE").Range("E2:p2").Copy
ThisWorkbook.Sheets("PLAN DE CHARGE").Range("E16:p16").Copy

'créer un nouveau classeur et y coller les données
Set nouv = Workbooks.Add
Set pg = nouv.Sheets(1)
pg.Paste
pg.Cells(1).PasteSpecial Paste:=xlValues

'figer les données
For num = 1 To 12
With num
.SeriesCollection(num).XValues = ThisWorkbook.Sheets("PLAN DE CHARGE").Range("c2:p2").Value
.SeriesCollection(num).Values = ThisWorkbook.Sheets("PLAN DE CHARGE").Range("c" & num + 2 & ":p" & num + 2).Value
.SeriesCollection(num).Name = ThisWorkbook.Sheets("PLAN DE CHARGE").Range("b" & num + 2).Value
End With
Next

'tracer le graphique
Set gr = nouv.Charts.Add
With gr
.SetSourceData Source:=Sheets("Feuil1").Range("A1:F5"), PlotBy:=xlRows
.ChartType = xlLine
.Location Where:=xlLocationAsNewSheet
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "années"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "TOTAL_CDC"
.PlotArea.Interior.ColorIndex = 2
.Axes(xlValue).MajorGridlines.Border.LineStyle = xlDot
.ChartArea.Font.Size = 14
.Deselect
End With
Application.ScreenUpdating = True



'faire le ménage
Set pg = Nothing
Set gr = Nothing
Set nouv = Nothing
End Sub
 

JNP

XLDnaute Barbatruc
Re : Aide pour tableau

Re :),
Num est une variable numérique alors que SeriesCollection s'applique à un objet Chart, donc ça ne risque pas de fonctionner :rolleyes:...
Bon courage :cool:
PS : Si toutes les variables étaient déclarée au début de la Sub, ça serait bien pratique :rolleyes:...
 

JNP

XLDnaute Barbatruc
Re : Aide pour tableau

Re :),
Malheureusement non, à part le fait que ton code est censé créer un nouveau classeur et un nouveau graphique, je n'ai aucune idée de ce qu'il doit faire d'autre, comme je le disais, avec un fichier exemple, peut-être, mais sans, comment veux-tu qu'on t'aide :confused: ...
En plus, les graphes sous VBA ne sont pas vraiment ma tasse de thé :eek:...
Peut-être
Code:
Application.ScreenUpdating = False
ThisWorkbook.Sheets("PLAN DE CHARGE").Range("E2:P2").Copy
ThisWorkbook.Sheets("PLAN DE CHARGE").Range("E16:P16").Copy

'créer un nouveau classeur et y coller les données
Set nouv = Workbooks.Add
Set pg = nouv.Sheets(1)
pg.Paste
pg.Cells(1).PasteSpecial Paste:=xlValues

'figer les données

'tracer le graphique
Set gr = nouv.Charts.Add
With gr
.SetSourceData Source:=Sheets("Feuil1").Range("A1:F5"), PlotBy:=xlRows
.ChartType = xlLine
.Location Where:=xlLocationAsNewSheet
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "années"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "TOTAL_CDC"
.PlotArea.Interior.ColorIndex = 2
.Axes(xlValue).MajorGridlines.Border.LineStyle = xlDot
.ChartArea.Font.Size = 14
For num = 1 To 12
.SeriesCollection(num).XValues = ThisWorkbook.Sheets("PLAN DE CHARGE").Range("c2:P2").Value
.SeriesCollection(num).Values = ThisWorkbook.Sheets("PLAN DE CHARGE").Range("c" & num + 2 & ":P" & num + 2).Value
.SeriesCollection(num).Name = ThisWorkbook.Sheets("PLAN DE CHARGE").Range("b" & num + 2).Value
Next
.Deselect
End With
Application.ScreenUpdating = True



'faire le ménage
Set pg = Nothing
Set gr = Nothing
Set nouv = Nothing
End Sub
mais sans aucune certitude :rolleyes:...
Bon courage :cool:
 

JNP

XLDnaute Barbatruc
Re : Aide pour tableau

Re :),
Tu m'aurais dis 12 fois, j'aurais dit que c'était la boucle, mais 5 :confused:...
Pas d'idée, désolé :eek:... Surtout que c'est Chart.Legend qui est censé fournir une légende, et que ça ne figure pas dans ton code :rolleyes:...
Bon courage :cool:
 

Discussions similaires

Réponses
1
Affichages
168
Réponses
0
Affichages
154

Statistiques des forums

Discussions
312 293
Messages
2 086 859
Membres
103 402
dernier inscrit
regishar