Code Mise à jour donnée graphique
Bonjour à tous,
Comme vous pouvez le constater, ceci est mon premier message sur ce forum. Je viens de me lancer dans le codage VBA, je vais donc avoir besoin de votre aide.
Mon premier problème vient d'un tableau regroupant plusieurs graphiques qui viennent s'alimenter dans des bases de données différentes mises à jours chaque mois. les barres de mes histogrammes s'alimentent dans des lignes uniques de mon tableau, il m'est donc impossible d'utiliser la ligne de code:
ActiveChart.SetSourceData Source:=
J'ai donc rédigé le code suivant:
Sub actualisation_graphique()
Sheets("Total PàP").Select
Dim Mois As Integer
Dim colonne As String
Mois = WorksheetFunction.CountA(Range("D2:P2"))
Select Case Mois
Case Mois = 2
colonne = E
Case Mois = 3
colonne = F
Case Mois = 4
colonne = G
Case Mois = 5
colonne = H
Case Mois = 6
colonne = I
Case Mois = 7
colonne = J
Case Mois = 8
colonne = K
Case Mois = 9
colonne = L
Case Mois = 10
colonne = M
Case Mois = 11
colonne = N
Case Mois = 12
colonne = O
Case Mois = 13
colonne = P
End Select
'Selection des données premier graphique
Sheets("Graph PàP").Select
ActiveChart.SeriesCollection(1).Values = "='Total PàP'!$D$5:$colonne$5"
ActiveChart.SeriesCollection(2).Values = "='Total PàP'!$D$8:$colonne$8"
ActiveChart.SeriesCollection(3).Values = "='Total PàP'!$D$14:$colonne$14"
ActiveChart.SeriesCollection(4).Values = "='Total PàP'!$D$17:$colonne$17"
ActiveChart.SeriesCollection(5).Values = "='Total PàP'!$D$20:$colonne$20"
ActiveChart.SeriesCollection(1).XValues = "='Total PàP'!$D$2:$colonne$2"
End SubJ'ai cependant un blocage au niveau du
ActiveChart.SeriesCollection(1).Values = "='Total PàP'!$D$5:$colonne$5"
Excel me propose un Débogage à ce niveau.
Pouvez vous me venir en aide?
Merci d'avance
JJ
Bonjour,
ActiveChart.SeriesCollection(1).Values = "='Total PàP'!$D$5:$colonne$5"
En fait, c'est ta variable colonne qui pose problème, elle n'est pas reprise ici, c'est juste le texte "colonne".
Tu devrais avoir :
ActiveChart.SeriesCollection(1).Values = "='Total PàP'!$D$5:$"&colonne&"5"avec le & pour concaténer.
Cordialement.
Et peut-être aussi :
colonne="M"avec les guillemets.
Merci pour ta réponse!!!!
Je viens d’essayer de faire ce que tu m'as proposé mais je reçois un message d’erreur avec le texte
"Erreur de Compilation
Attendu: Fin instruction"
Le texte de ma ligne devient ensuite rouge...
JJ
Tu peux envoyer le code ?
J'ai répondu vite fait mais je pense que l'erreur provenait de là. Tu parles de quelle ligne ?
Salut,
Tout mon code est dans le premier message que j'ai envoyé dans ce post.
La ligne qui s'affiche en rouge est celle la:
ActiveChart.SeriesCollection(1).Values = "='Total PàP'!$D$5:$"&colonne&"5"Merci
Je viens d'essayer avec le code suivant:
Sub actualisation_graphique()
Sheets("Total PàP").Select
Dim Mois As Integer
Dim colonne As String
Mois = WorksheetFunction.CountA(Range("D2:P2"))
Select Case Mois
Case Mois = 2
colonne = "E"
Case Mois = 3
colonne = "F"
Case Mois = 4
colonne = "G"
Case Mois = 5
colonne = "H"
Case Mois = 6
colonne = "I"
Case Mois = 7
colonne = "J"
Case Mois = 8
colonne = "K"
Case Mois = 9
colonne = "L"
Case Mois = 10
colonne = "M"
Case Mois = 11
colonne = "N"
Case Mois = 12
colonne = "O"
Case Mois = 13
colonne = "P"
End Select
'Selection des données premier graphique
Sheets("Graph PàP").Select
ActiveChart.SeriesCollection(1).Values = "='Total PàP'!$D$8:$L$8"
ActiveChart.SeriesCollection(2).Values = "='Total PàP'!$D$11:$L$11"
ActiveChart.SeriesCollection(3).Values = "='Total PàP'!$D$14:$L$14"
ActiveChart.SeriesCollection(4).Values = "='Total PàP'!$D$20:$L$20"
ActiveChart.SeriesCollection(5).Values = "='Total PàP'!$D$5:$L$5"
ActiveChart.ChartArea.Select
ActiveChart.PlotArea.Select
ActiveChart.SeriesCollection(1).XValues = "='Total PàP'!$D$2:$L$2"
Sheets("Total PàP").Select
End Subet ça fonctionne très bien. Seulement j'ai besoin de pouvoir faire varier la lettre des cellules. j'ai l'impression que ca ne fonctionne pas avec ma variable "colonne" car avec la ligne de code j'ai un message de débogage:
ActiveChart.SeriesCollection(5).Values = "='Total PàP'!$D$5:$colonne$5"Quelqu'un aurait une solution?
Re bonjour à tous
j'ai tenté quelquechose d'un peu différent pour juste selectionner ma ligne de donnée pour mon graphique, mais ca ne fonctionne toujours pas...
Voila ce que j'ai écrit:
Sub Chart()
Dim Mois As Integer
Sheets("Total PàP").Select
Mois = WorksheetFunction.CountA(Range("D2:P2")) + 3
Sheets("Graph PàP").Select
ActiveChart.SeriesCollection(1).Values = Sheets("Total PàP").Range(Cells(3, 5), Cells(3, Mois))
End SubJ'ai un message qui me dit que la méthode des Cells à échoué.
Auriez vous la solution?
Merci