Affecter du code à un CommandButton créé dynamiquement [Résolu]

Messages postés
2
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
8 février 2007
- - Dernière réponse : PCPT
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
- 8 févr. 2007 à 16:57
Bonjour,

une floppée de bouttons de commande sont créés lors de l'exécution du code ci-dessous et je souhaiterais qu'il se passe quelque chose lorsque l'utilisateur clique sur l'un d'eux ! J'ai fouillé du côté de la propriété "OnAction" qui s'applique aux CommandBarButton... Mais je ne trouve pas d'équivalent sur les btn2cmd.

Si quelqu'un sait... Merci!

Dim MyCtrls As Control
Private Sub UserForm_Initialize()
    j = 1
    For i = 1 To n
        If Left(Cells(i, 1), 1) = "_" Then
            Call CreateCmdBtn(100, j * 50, 20, 20)
            j = j + 1
        End If
    Next
End Sub
Public Sub CreateCmdBtn(CL As Integer, CT As Integer, CW As Integer, CH As Integer)
    Set MyCtrls = Controls.Add("Forms.CommandButton.1", "CommandBtn" & j, True)
    MyCtrls.Left = CL
    MyCtrls.Top = CT
    MyCtrls.Width = CW
    MyCtrls.Height = CH
End Sub
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
23
3
Merci
pas de suite.....

un exemple en VB6

Option Explicit
Private WithEvents cmdObject As CommandButton
Private WithEvents TxtObject As TextBox

Private Sub Form_Load()
    Set cmdObject =  Form1.Controls.Add("VB.CommandButton", "Cmd1")
    cmdObject.Visible = True
    cmdObject.Caption = "Click
Me"
    
    Set TxtObject = Form1.Controls.Add("VB.TextBox", "Text1")
    TxtObject.Left = 3000
    TxtObject.Visible = True
End Sub

Private Sub cmdObject_Click()
    On Local Error Resume Next
    TxtObject.Text = "nouveau
texte"
    If Err.Number = 735 Then
        MsgBox "TextBox déchargée, bye bye ;)"
        Unload Me
    End If
End Sub

Private Sub TxtObject_Change()
    MsgBox "le texte à changé, on décharge
la TxtBox"
    Form1.Controls.Remove "Text1"
End Sub

<small>Coloration
syntaxique automatique [AFCK] </small>
       

<hr size ="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 122 internautes nous ont dit merci ce mois-ci

Commenter la réponse de PCPT
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
28
0
Merci
Tu code en quoi ????
Quelque chose me dit que c'est du VBA

Ca devient pénible ces posts qui ne sont pas dans la bonne rubrique. Faites attention, c'est pourtant pas difficile.

Parceque en VB2005 come l'indique la rubrique, c'est relativement simple de répondre.
Mais en VBA comme je suppose c'est nettement plus compliqué je pense

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Commenter la réponse de cs_casy
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
23
0
Merci
salut,
en VB6 et VBA, on récupère les évènements grâce à l'objet extObj_ObjectEvent

besoin de plus d'infos? nous aussi!!!
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
Messages postés
2
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
8 février 2007
0
Merci
ObjectEvent, ça a l'air pas mal...
Vous auriez un exemple de code ?
Commenter la réponse de Brousse_lee
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
23
0
Merci
si tu lis la moitié du gras, j'imagine ce qui est en "normal"....
relis ce qu'on attend de toi, çà t'aidera plus que nous.

et F1 fonctionne sous toutes les versions
++
Commenter la réponse de PCPT