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é:
Ce code aurait-il une coquille? Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager