Bonjour
Merci pour ta réponse rapide !!
Alors je vais essayer d'être plus explicite :
Je clique sur un bouton qui possède ce code :
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
Mon userform apparait et je l'ai crée de tel sorte qu'il possède 44 cases à cocher + un bouton "Ok" en bas à droite (j'ai fais une capture d'écran que j'ai jointe)
Quand je coche la case BUG2, un graphique apparait grâce à ce code :
Private Sub CheckBoxBUG2_Click()
'créer le graphique
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatterLinesNoMarkers
ActiveChart.Parent.Name = "Avancement Travaux BUG2"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Name = "=""Avancement prévu des Travaux BUG2"""
ActiveChart.SeriesCollection(1).XValues = "='Avancement travaux'!$E$11:$L$11"
ActiveChart.SeriesCollection(1).Values = "='Avancement travaux'!$E$13:$L$13"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Name = "=""Avancement réel des Travaux BUG2"""
ActiveChart.SeriesCollection(2).XValues = "='Avancement travaux'!$E$8:$L$8"
ActiveChart.SeriesCollection(2).Values = "='Avancement travaux'!$E$10:$L$10"
'Mise en forme du graphique sélectionné
Dim i As Integer
On Error Resume Next
With ActiveChart
Select Case .ChartType
Case 4, 63 To 67, -4169, 72 To 75
.SetElement (msoElementLegendBottom)
.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis)
.SetElement (msoElementPrimaryValueAxisTitleRotated)
.SetElement (msoElementChartTitleAboveChart)
.Axes(xlValue).MajorGridlines.Border.Color = RGB(200, 200, 200)
For i = 1 To .SeriesCollection.Count
.SeriesCollection(i).Format.Line.Weight = 3
.SeriesCollection(i).MarkerSize = 3
Next i
End Select
End With
'Changement de couleur des lignes
With ActiveChart.SeriesCollection(1)
.Border.Color = RGB(0, 176, 80)
End With
With ActiveChart.SeriesCollection(2)
.Border.Color = RGB(255, 0, 0)
End With
'Mise en place des titres
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Avancement des travaux BUG2"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Date"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Pourcentage d'avancement"
End With
'changer le format de l'axe du graphique
With ActiveChart
.Axes(xlCategory).MajorUnit = 30
End With
With ActiveChart
.Axes(xlValue).MaximumScale = 100
End With
End Sub
SAUF que j'aimerais que quand je coche BUG2 ce graphique n’apparaisse pas tout de suite ! Mais seulement quand j'appuie sur le bouton ok, et ça, ça ne marche pas pour le moment :/
en clair : je coche BUG2 => le graphique apparaît
je voudrais => je coche BUG2 ; j’appuie sur Ok => le graphique apparaît (cela dans le but de pouvoir cocher plusieurs cases et faire apparaître les graphiques d'un coup et à un endroit précis)
Merci encore,