[Excel 2007] [VBA 6.3] Ajout dynamique de code dans un formulaire
Bonjour,
Après quelques recherches et essais infructueux, je me tourne vers les spécialistes :)
Je cherche à créer dynamiquement un certain nombre de boutons dans un formulaire et de créer le code associé à l'évènement click pour chaque bouton.
mon code à la tête suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
Public Sub affichage_bouton_winrate()
Dim i As Integer
Dim Bouton As CommandButton
Dim codeBouton As String
i = 0
While tab_trié(i + 1).nomDeck <> ""
Set Bouton = Meta.Controls.Add("Forms.commandButton.1", "BoutonWinRate" & tab_trié(i + 1).nomDeck, True)
Bouton.Caption = tab_trié(i + 1).nomDeck
Bouton.Left = 300
Bouton.Top = 30 + i * 11
Bouton.Width = 300
Bouton.Height = 30
codeBouton = "sub BoutonWinRate" & tab_trié(i + 1).nomDeck & "_click()" & Chr(13)
codeBouton = codeBouton & "msgbox(WinRateDeck(tab_trié(i+1).nomDeck))" & Chr(13)
codeBouton = codeBouton & "End Sub"
Meta.codeModule.insertLines Meta.countOfLines, code
Set Bouton = Nothing
i = i + 1
Wend
End Sub |
la création des boutons passe à la compilation. Par contre, je n'arrive pas à faire l'insertion dynamique du code dans mon formulaire (Meta).
VBA ne reconnait pas "codeModule", "insertLines" et countOfLines.
Une idée pour m'aider à avancer sur l'origine de l'erreur? est ce que ces méthodes / attributs d'un formulaire ne sont disponibles que dans une autre version de VBA?
Ou plutôt les méthodes que je veux utiliser ne sont peut être pas disponibles pour un formulaire?
Quelles seraient les objets contenant le code d'un formulaire? comment y acceder? et comment compter le nombre de ligne de code pour pouvoir ajouter ce code sans ecraser le reste?
Merci d'avance,
Tylert