CodeModule lié au Controle dynamique en VBA5

Résolu
cs_Beginner37 Messages postés 35 Date d'inscription vendredi 26 janvier 2007 Statut Membre Dernière intervention 28 février 2011 - 19 déc. 2007 à 22:01
cs_Beginner37 Messages postés 35 Date d'inscription vendredi 26 janvier 2007 Statut Membre Dernière intervention 28 février 2011 - 23 déc. 2007 à 13:19
Bonjour,
j'ai une difficulté à résoudre l'exécution de mon programme (ci_dessous).
J'ai un userform où je crée un bouton commande (commandbutton) et des insertions dynamiques de boutons de commande. Par la même  occasion j'attribue un Code pour chaque contrôle  au niveau de l'initialisation :
Private Sub UserForm_Initialize()
Dim X
Dim Y
Dim Projet
Dim H
Dim positionTop
Dim nomControle
Dim control As New control


X = ThisWorkbook.VBProject.VBComponents.Count


For ctr = 1 To X
    If ThisWorkbook.VBProject.VBComponents(ctr).Type = 3 Then
        Exit For
    End If
Next ctr
MsgBox "le numéro usf est " & X


positionTop = 10
For H = 1 To 6
    With Interface1.Controls.Add("Forms.CommandButton.1")
        .Left = 100
        .Width = 15
        .Height = 15
        .Top = positionTop
        .Name = "Cmd" & H
    End With
'MsgBox Interface1.Controls("Cmd" & H).Name
    With ThisWorkbook.VBProject.VBComponents(X).CodeModule
        j = .CountOfLines
        .InsertLines j + 1, "Sub " & "Cmd" & H & "_Click"
        .InsertLines j + 2, "MsgBox ""Ici"""
        .InsertLines j + 3, "End Sub"
    End With
    positionTop = positionTop + 30
Next H
End Sub

'*******
Les lignes de codes se créent bien et correspondent respectivement aux boutons de commande créés.
Le problème que je rencontre est au niveau de l'action des boutons car il ne se passe rien (pas d'exécution du code).
Avec le bouton créé dans l'userform, je lui affecte le code :
Private Sub CmdUserform_Click()
Call Cmd1_Click
End Sub
(il ne reconnait pas le programme).
'**********
Je sais pas pourquoi rien ne s'exécute !

Pouvez-vous me dire ce qui cloche ?

Cordialement


 

1 réponse

cs_Beginner37 Messages postés 35 Date d'inscription vendredi 26 janvier 2007 Statut Membre Dernière intervention 28 février 2011
23 déc. 2007 à 13:19
Après quelques recherches sur le Net, j'ai trouver un exemple qui m'a permis de résoudre mon problème :
http://forum.hardware.fr/hfr/Programmation/VB-VBA-VBS/evenement-controle-dynamiquement-sujet_100885_1.htm

Merci à KIKI29
3
Rejoignez-nous