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 Sub

J'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 Sub

et ç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 Sub

J'ai un message qui me dit que la méthode des Cells à échoué.

Auriez vous la solution?

Merci

Rechercher des sujets similaires à "code mise jour donnee graphique"