XL 2016 VBA Format de date dans un graphique

danielco

XLDnaute Accro
Bonjour,

Je n'arrive pas à récupérer les dates de l'axe des abscisses au format JJ/MM/AAAA. Je suis obligé de passer par un tableau (array) car la plage de dates est filtrée et je n'en utilise que certaines. J'ai créé un classeur exemple en PJ. Voici la macro :

Code:
Sub test()
  Dim TablY() As Double, TablX() As Date, C As Range, I As Long
  I = -1
  With Sheets(1).ChartObjects(1).Chart
    For Each C In [A2:A5]
      I = I + 1
      ReDim Preserve TablX(I)
      ReDim Preserve TablY(I)
      TablX(I) = C.Value
      TablY(I) = C.Offset(, 1).Value
    Next C
    .SeriesCollection(1).Values = TablY
    .SeriesCollection(1).XValues = TablX
  End With
End Sub

J'obtiens des dates au format M/J/AAAA que je n'arrive pas à mettre en forme.

Pouvez-vous m'aider ?

Cordialement.

Daniel
 

Pièces jointes

  • exemple daniel.xlsm
    24.7 KB · Affichages: 5
Solution
Bonjour

Une façon de faire
VB:
Sub test()
  Dim TablY(), TablX(), C As Range, I As Long
  I = -1
  With Sheets(1).ChartObjects(1).Chart
    For Each C In [A2:A5]
      I = I + 1
      ReDim Preserve TablX(I)
      ReDim Preserve TablY(I)
      TablX(I) = C.Value2
      TablY(I) = C.Offset(, 1).Value2
    Next C
    .SeriesCollection(1).Values = TablY
    .SeriesCollection(1).XValues = TablX
  End With
End Sub

Staple1600

XLDnaute Barbatruc
Bonjour

Une façon de faire
VB:
Sub test()
  Dim TablY(), TablX(), C As Range, I As Long
  I = -1
  With Sheets(1).ChartObjects(1).Chart
    For Each C In [A2:A5]
      I = I + 1
      ReDim Preserve TablX(I)
      ReDim Preserve TablY(I)
      TablX(I) = C.Value2
      TablY(I) = C.Offset(, 1).Value2
    Next C
    .SeriesCollection(1).Values = TablY
    .SeriesCollection(1).XValues = TablX
  End With
End Sub
 

danielco

XLDnaute Accro
Bonjour

Une façon de faire
VB:
Sub test()
  Dim TablY(), TablX(), C As Range, I As Long
  I = -1
  With Sheets(1).ChartObjects(1).Chart
    For Each C In [A2:A5]
      I = I + 1
      ReDim Preserve TablX(I)
      ReDim Preserve TablY(I)
      TablX(I) = C.Value2
      TablY(I) = C.Offset(, 1).Value2
    Next C
    .SeriesCollection(1).Values = TablY
    .SeriesCollection(1).XValues = TablX
  End With
End Sub

Bravo ! Mais... Pourquoi ?

Daniel
 

Discussions similaires

Réponses
0
Affichages
137
Réponses
1
Affichages
160

Statistiques des forums

Discussions
312 110
Messages
2 085 388
Membres
102 882
dernier inscrit
Sultan94