Setsourcedata

Bonsoir,

voici, une proposition, à tester. pas très élégante, mais j'ai les neurones bouchés.

Private Sub CommandButton1_Click()

nom = ComboBox4.Value

Feuil1.Select
Range("7:7").Find(nom, , xlValues, xlWhole, , , False).Select
ActiveCell.Select
Colonne = ActiveCell.Column
ligne = ActiveCell.Row

Set graphdata = Sheets("saisie").Range(Cells(ligne + 3, Colonne), Cells(ligne + 1949, Colonne))
For Each w In graphdata
 If w.EntireRow.Hidden = False Then datafound = True: Exit For
Next

If datafound = False Then MsgBox "pas de données pour cette sélection": Exit Sub
Sheets(ComboBox4.Value).Select

Dim wsData As Worksheet, wsChart As Worksheet
Dim rngChart As Range
Dim objChart As ChartObject
Dim objLE As LegendEntry

ActiveSheet.Unprotect Password:="toto"

    Application.ScreenUpdating = False

    Set wsData = Feuil1
    Set wsChart = ActiveSheet

    On Error Resume Next
    wsChart.ChartObjects(1).Delete
    On Error GoTo 0

    Set objChart = wsChart.ChartObjects.Add _
            (Left:=wsChart.Columns("c").Left, _
            Top:=wsChart.Rows(9).Top, _
            Width:=800, _
            Height:=280)

    With objChart.Chart
        .ChartType = xlColumnClustered
        .SetSourceData Source:=graphdata
        .HasTitle = True
        .ChartTitle.Text = ComboBox3.Value & " - " & ComboBox4.Value
        .HasLegend = False
    End With

Unload Me
    Set objChart = Nothing
    Set rngChart = Nothing
    Set wsChart = Nothing: Set wsData = Nothing
ActiveSheet.Protect Password:="toto", DrawingObjects:=False, Contents:=True, Scenarios:=True

End Sub

Merci.

tu sais ... moi et l'élégance....

Rechercher des sujets similaires à "setsourcedata"