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

Signaler
Messages postés
2
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
8 février 2007
-
PCPT
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
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

5 réponses

Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
30
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
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
32
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 #
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
30
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
Messages postés
2
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
8 février 2007

ObjectEvent, ça a l'air pas mal...
Vous auriez un exemple de code ?
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
30
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
++