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 Subj
Merci.
tu sais ... moi et l'élégance....