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 : 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
Ce code aurait-il une coquille? Merci d'avance