Bonjour,
Au départ d'Access, je crée un fichier (WorkBook) excel qui ne contient qu'une feuille (WorkSheet). Dans cette feuille je crée, via VBA un graphique intégré avec la plupart des formats que je souhaite pour les points, les séries, les légendes, .... jusque là tout va bien
Une fois ce fichier créé, via VBA, j'y transfère le contenu d'un recordset Access (ca fonctionne bien aussi) et le graphique se met automatiquement à jour. Au total, j'ai 16 colonnes de valeurs.
Ce que je souhaiterai faire ensuite est d'afficher une étiquette personnalisée pour le premier point et le dernier point des séries(colonnes) 7 à 16. En cherchant sur le net j'ai trouvé plusieurs solutions dont je me suis inspiré mais... ca coince...
J'ai une erreur 1004 la plupart du temps et de temps en temps une erreur 345, après avoir ajouter le code pour ajouter des etiquettes aux points.
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 xlSheet.Cells(4, 1).CopyFromRecordset rec3 ' copie du recordset à partir de la cellule (4,1)= "A4" de la feuille xlSheet.ChartObjects(1).Activate nbrseries = ActiveChart.SeriesCollection.count 'redéfinit l'axe des abcisses (X) With ActiveChart.Axes(xlCategory) .MinimumScale = xlSheet.Range("A4").value .MaximumScale = xlSheet.Range("A" & rec3.RecordCount).value + 2 End With ActiveChart.DisplayBlanksAs = xlZero ActiveChart.DisplayBlanksAs = xlNotPlotted 'on rajoute un label aux premiers et derniers points des séries For j = 7 To rec3.Fields.count MsgBox "nbrseries = " & nbrseries & "; rec3.Fields.count = " & rec3.Fields.count With ActiveChart.SeriesCollection(j).Points(1) .HasDataLabel = True .DataLabel.text = "P" End With With ActiveChart.SeriesCollection(j).Points(ActiveChart.SeriesCollection(j).Points.count) .HasDataLabel = True .DataLabel.text = "P" End With Next j
Sinon tout se passe super bien si je n'ajoute pas ce code...
Pouvez-vous me dire ce que j'ai mal écris et m'aider à corriger cela, svp?
Un grand merci d'avance
Partager