Manipulation graphique (2)

Bonjour,

Dans ce post cousinhub m'a défriché le code pour actualiser un graphique en cliquant sur une cellule S01 S02 S03 S04 S05 S06 .....

Dans la pièce jointe, la feuille "9020" en est l'exemple, et la feuille "Bilan semaine" est ma tentative pour adapter ce code à un autre type de graphique.

Mais je n'y arrive pas..

le déboggeur me dit que l'erreur est là:

    ChObj.Chart.SeriesCollection(1).Formula = "=SERIES('BILAN SEMAINE'!$B$1,'BILAN SEMAINE'!$A$6;$A$7;$A$14,'BILAN SEMAINE'!" & Cells(6, Target.Column).Address & ":" & Cells(7, Target.Column).Address & Cells(14, Target.Column).Address & ",1)"

, mais je n'arrive pas à saisir des cellules "séparées" dans cette fonction "SERIES"

Si une bonne âme pouvait encore me montrer la voie, ça serait sympa

Petit "up" pour peut être pouvoir avancer au boulot demain

Bonsoir,

Essaie avec ce code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ChObj As ChartObject
Dim SerCol As Series
Dim LesSeries, LesLignes
Dim Cel As Range
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("B1:BB1")) Is Nothing Then
    LesSeries = Array("Cas_5", "Cas_6", "Cas_13")
    LesLignes = Array(6, 7, 14)
    Set ChObj = ActiveSheet.ChartObjects("Graphique 6")
    For Each SerCol In ChObj.Chart.SeriesCollection
        Set Cel = Range("$A$" & LesLignes(Application.Match(SerCol.Name, LesSeries, 0) - 1))
        SerCol.Formula = "=SERIES('BILAN SEMAINE'!" & Cel.Address & ",'BILAN SEMAINE'!$B$1:$AA$1,'BILAN SEMAINE'!" & Cel.Offset(, Target.Column - 1).Address & ",1)"
    Next SerCol
End If
Target.Select
End Sub

Bonne soirée

Impeccable !

Je n'aurais jamais su faire

Reste à essayer de comprendre et l'adapter à mon vrai tableau (mais ça je saurai faire)

Merci beaucoup !

cousinhub a écrit :

Bonsoir,

Essaie avec ce code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ChObj As ChartObject
Dim SerCol As Series
Dim LesSeries, LesLignes
Dim Cel As Range
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("B1:BB1")) Is Nothing Then
    LesSeries = Array("Cas_5", "Cas_6", "Cas_13")
    LesLignes = Array(6, 7, 14)
    Set ChObj = ActiveSheet.ChartObjects("Graphique 6")
    For Each SerCol In ChObj.Chart.SeriesCollection
        Set Cel = Range("$A$" & LesLignes(Application.Match(SerCol.Name, LesSeries, 0) - 1))
        SerCol.Formula = "=SERIES('BILAN SEMAINE'!" & Cel.Address & ",'BILAN SEMAINE'!$B$1:$AA$1,'BILAN SEMAINE'!" & Cel.Offset(, Target.Column - 1).Address & ",1)"
    Next SerCol
End If
Target.Select
End Sub

Bonne soirée

Bon, et bien j'ai été un peu vite...

Ton code copié dans la feuille jointe fonctionne, voir "projet.xls"

MAIS si j'essaie de l'adapter à une autre feuille, voir "template.xls" , ça plante sur cette ligne :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ChObj As ChartObject
Dim SerCol As Series
Dim LesSeries, LesLignes
Dim Cel As Range
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("B1:BA1")) Is Nothing Then
    LesSeries = Array("Nbre_de_1e_Controles_OK", "Nbre_de_1e_Controles_NOK", "%_OK_1e_Controle")
    LesLignes = Array(3, 4, 7)
    Set ChObj = ActiveSheet.ChartObjects("Graphique 6")
    For Each SerCol In ChObj.Chart.SeriesCollection
        Set Cel = Range("$A$" & LesLignes(Application.Match(SerCol.Name, LesSeries, 0) - 1))
        SerCol.Formula = "=SERIES('BILAN SEMAINE'!" & Cel.Address & ",'BILAN SEMAINE'!$B$1:$AA$1,'BILAN SEMAINE'!" & Cel.Offset(, Target.Column - 1).Address & ",1)"
    Next SerCol
End If
Target.Select
End Sub

Apparemment un problème de séries, mais je n'arrive pas à debugger...

Donc, HELP à nouveau ... Désolé

15projet.xlsm (30.59 Ko)
13template.xlsm (23.48 Ko)

Petit UP, il semblerait que cousinhub soit en vacances.... Alors n'hésitez pas à prendre la relève

Je pense que le problème vient de "SerCol" donc de "SerCol.Name". Alors "Match" ne trouve rien.

Mais là je ne comprends plus....

Résolu !

En recréant (plutôt qu'en copiant) le graphique concerné, ça fonctionne maintenant.

Rechercher des sujets similaires à "manipulation graphique"