CommandButton est cliqué

Bonjour,

je réalise une macro dans un userform. Le clic d'un CommandButton ouvre 3 autres CommandButton.

Les 3 commandButton en question sont créés ainsi :

Public Sub bouton_commune_aep_Click()

    Dim Obj1 As Control
    Dim Obj2 As Control
    Dim Obj3 As Control
    Dim Obj4 As Control

Set Obj1 = Me.Controls.Add("forms.OptionButton.1")
        With Obj1
        .Name = "hbt_300"
        .Caption = "< 300"
        .Height = 21
        .Left = 198
        .Top = 130
        .Width = 75
        End With
Set Obj2 = Me.Controls.Add("forms.OptionButton.1")
        With Obj2
        .Name = "hbt_moins10000"
        .Caption = "< 10000"
        .Height = 21
        .Left = 198
        .Top = 150
        .Width = 75
        End With
Set Obj3 = Me.Controls.Add("forms.OptionButton.1")
        With Obj3
        .Name = "hbt_plus10000"
        .Caption = "> 10000"
        .Height = 21
        .Left = 198
        .Top = 170
        .Width = 75
        End With
Set Obj4 = Me.Controls.Add("forms.Label.1")
        With Obj4
        .Name = "label_hbt_aep"
        .Caption = "Nombre d'habitants"
        .Height = 21
        .Left = 198
        .Top = 114
        .Width = 150
        End With

End Sub

Je souhaiterais que le Clic dans l'un des 3 CommandButton affiche une phrase de réponse dans un Label toujours dans ma UserForm initiale. Je ne parviens pas à trouver la syntaxe ni où la mettre pour réaliser cette condition qui se traduit par :

"Si CommandButton untel est cliqué alors écris cela dans Label truc"

J'ai testé qqchose du style

Private Sub UserForm_Initialize()
If CommandButton_Click = True Then
label.Caption = texte
End If
End Sub

Est-ce compréhensible ?

Merci d'avance

Olivier

Bonjour

Ce n'est pas dans la macro Initialize qu'il te faut mettre ce code mais dans celui des boutons de commande.

Exemple :

Private Sub CommandButton1_Click()
    Label1.Caption = "Attention ! Danger ! "
End Sub

OK ?

Bye !

Yep, je comprends et tu as surement raison. Mais en l'occurence, il ne passe rien.

J'ai même testé cela pour voir si le clic faisait réagir :

Private Sub hbt_plus10000_Click()
MsgBox "coucou"
End Sub

Mais il ne se passe rien du tout.

Je précise que mon CommandButton se nomme "hbt_plus10000"

Je place ce code en vrac dans le userform. est-ce le bon endroit ou faut-il créer un module ?

Merci à toi

Oliv

Oliv38 a écrit :

Mais en l'occurence, il ne passe rien.

Alors, joins ton fichier et je te montrerai...

Bye !

Bonjour Oliv38, gmb, à tous,

voici une exemple simplifié,

Ok merci, du coup j'ai des questions

Les boucles sont obligatoires ?

Dans mon cas, j'ai créer 3 boutons radio mais il n'y en a qu'un seul qui faire réagir un label... Ton exemple s'applqiue qd même dans ma situation ?

Merci encore.

Oliv

pouvez-vous joindre votre fichier ?

bouton radio ? voulez-vous dire CommandButton ?

Bonsoir,

La méthode que tu utilises crée des boutons "à la demande" : on dit dynamiquement.

Tu ne peux pas créer d'évènement pour ces boutons qui n'existent pas encore.

On utilise cette méthode conjointement avec des modules de classe.

Si tu n'as que trois boutons à créer, tu peux utiliser l'exemple de SabV mais avec des boutons que tu rendras visibles ou invisibles : Ce sera beaucoup plus simple qu'un module de classe (difficile à assimiler pour un novice.)

Par contre si tu envisages d'en créer beaucoup plus, un module de classe sera quand même plus pratique : Dans ce cas fournir le classeur KIVABIEN avec pour qu'on te fasse ça "aux petits oignons..."

A+

Bonjour,désolé je n'avais pas répondu aux derniers posts étant parti en déplacement.

Je ne pouvais pas mettre mon fichier en ligne désolé mais mon souci était bien lié à ce que tu as dit galopin...

Effectivement je n'ai que 3 boutons à créer, je vais donc utiliser la fonctionnalité visible/invisible.

Merci pour toutes ces précisions.

Oliv

Rechercher des sujets similaires à "commandbutton clique"