Tracé graphique sur fichier excel depuis vba access
Bonjour à tous
J'ai une question à vous poser concernant vba Access/Excel.
J'ai une requête que j'exporte depuis access vers un fichier excel et une procédure vba/access qui me permet de rajouter à cet objet excel une feuille contenant un graphique. Les données sources sont en colonne et la 1ère colonne représente un numéro de semaine suivi de l'année ce qui doit correspondre à la valuation de l'axe des abscisses (ex: S35_07).
Cependant, l'ouverture du fichier excel, le graphique s'affiche bien sauf que l'échelle de l'axe des abscisses ne correspond pas aux données de la 1ère colonne mais plutôt à une graduation du genre 0 1 2 3 ... alors qu'à la place devrait apparaître lidentifiant de chaque semaine (S35_07 S36_07 S37_08 ...)
Voici le code associé:
Code:
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 32
|
Dim MonGraphe As Excel.Chart
Set MonGraphe = xlBook.Charts.Add
MonGraphe.Name = "Graphique"
MonGraphe.chartType = xlXYScatterSmooth
nbUsedRows = xlBook.Worksheets(NameSheet).UsedRange.Rows.Count
nbUsedColumns = xlBook.Worksheets(NameSheet).UsedRange.Columns.Count
xlBook.Worksheets(NameSheet).Range(xlBook.Worksheets(NameSheet).Cells(1, 1), xlBook.Worksheets(NameSheet).Cells(nbUsedRows, 1)).NumberFormat = "@"
MonGraphe.SetSourceData Source:=xlBook.Worksheets(NameSheet).Range(xlBook.Worksheets(NameSheet).Cells(1, 1), xlBook.Worksheets(NameSheet).Cells(nbUsedRows, nbUsedColumns)), PlotBy:=xlColumns
' MonGraphe.SetSourceData Source:=xlBook.Worksheets(NameSheet).Range("R1C1:R " & nbUsedRows & "C" & nbUsedColumns), PlotBy:=xlColumns
With MonGraphe
.HasTitle = True
' Ajout du titre de l'objet graphique
With .ChartTitle
.Characters.Text = NameSheet
.Shadow = True
.Border.Weight = xlHairline
End With
' Paramétrage de l'axe des ordonnées avec ajout de titre
With .Axes(xlValue, xlPrimary)
.HasTitle = True
.AxisTitle.Characters.Text = "Trafic (Erl)"
End With
' Paramétrage de l'axe des abscisses avec ajout de la légende
With .Axes(xlCategory, xlPrimary) '
.HasTitle = True
.AxisTitle.Characters.Text = "[ Semaines ]" 'xlBook.Worksheets(NameSheet).Cells(1, 1).value
End With
End With |
Ce code aurait-il une coquille? Merci d'avance