Cocher une case et activer son contenu via un Bouton "Ok"

Bonjour à tous,

Je me suis mise à VBA depuis peu et je m'en sors à peu près. Mais malgré mes recherches sur internet ou des essais par moi même, il y a une chose que je n'arrive pas du tout à faire, j'aurais donc besoin de votre aide !

Alors, j'ai crée un UserForm avec une quarantaine de case à cocher, de ce style là :

ᆷBUG2

ᆷBUG3

Quand je coche BUG2 dans l'Userform, un graphique apparaît exactement comme je le voulais (si besoin je peux mettre son code ici).

Enfin tout en bas à droite de l'Userform j'ai un bouton "Ok" qui me permet de fermer l'Useform avec le code "Unload Me"

Encore là, tout va bien, mon soucis est le suivant :

Est-il possible que quand je coche BUG2 par exemple, rien ne se passe : le graphique n'apparaît pas

Mais quand j'appuie sur Ok, l'Userform se ferme et les graphiques des cases cochées apparaissent !

Voilà mon but, est-ce possible ?

Merci de votre aide, j'aurais aimé mettre mon fichier ici mais il contient quelques infos confidentielles à mon entreprise..

Cordialement,

bonjour,

Oui bien sur ! Il n'y a normalement aucune raison pour que ton Userform intervienne directement sur quoi que soit tant que tu n'as pas validé par Ok. Mébon sans voir ce que tu as fait c'est bien difficile d'en dire plus.

Confidentialité : Une fois que tu as enlevé les logos, les adresses , email et N° de téléphone, normalement YAPA de soucis à se faire.

si en plus tu mélanges un tant soit peu les noms des uns avec les prénoms des autres...

et si en plus tu enlèves les 9/10èmes des enregistrements inutiles à la résolution de ton problème alors tu peux dormir sur tes 2 oreilles...

A+

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,

capturer

Bonsoir,

Pour la macro :

Private Sub CheckBoxBUG2_Click() YA juste besoin de remplacer son nom par :

Private Sub Galopin()
'...la suite sans changement

et dans le code de ton bouton Ok tu mets :

Private Sub Ok_Click() '(mettre le véritable nom de ton bouton)
Application.ScreenUpdating = False
Galopin
End Sub

...et tu croises les doigts !

Si ça ne marche pas fournir un fichier test.

A+

Bonjour,

Merci ça marche complètement !! Bravo !!

Du coup je suppose que je dois faire la même chose pour mes 43 autres CheckBox ? Est-ce que je dois les appeler Galopin 1 () ; Galopin 2 (), etc ?

Cordialement,

Et bah en faites non, j'ai un soucis...

Imaginons que je ne coche pas la case BUG2, et bien quand j'appuie sur le bouton Ok pour fermer l'Userform, le graphique correspondant à BUG2 apparaît alors que je ne veux pas !

Dois-je utiliser un code avec If ?

If "je coche la case BUG2"

Then "quand j'appuie sur Ok, le graphique BUG2 apparaît"

If Not "le graphique bug 2 n'apparait pas quand je clik sur Ok"

Merci pour vos réponses !

Bonjour,

galopin01 a écrit :

Si ça ne marche pas fournir un fichier test.

A+

Je n'ai besoin d'aucune données, j'ai besoin :

Du formulaire pour pouvoir tester (avec toutes ses macros...) et tous ses contrôles...

A+

Bonjour,

Voici le fichier test comme demandé !

29fichier-test.xlsm (36.52 Ko)

bonsoir,

voir pièce jointe.

[Nota] Je ne te garantis pas que les 40 graphiques passeront comme une lettre à la poste si tu tentes de les envoyer tous ensemble...

A+

74jannaj.xlsm (33.87 Ko)

C'est exactement ce que je voulais !

Vous êtes très fort, merci à vous !

Rechercher des sujets similaires à "cocher case activer contenu via bouton"