Générer le code des boutons

RomBJX Messages postés 2 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 10 septembre 2004 - 9 sept. 2004 à 13:04
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 10 sept. 2004 à 18:11
Bonjour,

Je génère des boutons mais je ne sais pas commend faire pour générer le code correspondant à chaque bouton
J'ai essayé de regarder les post sur les boutons dynamiques mais ca ne m'aide pas beaucoup
donc si quelqu'un pourrait m'éclairer...

petit morceau de code :


For j = 1 To NbrBtn
UET1 = RS2!IDUET
Set MonBouton = Me.Controls.Add("VB.CommandButton", "Btn" & j, Me)
MonBouton.Visible = True
MonBouton.Left = Gauche
MonBouton.Top = Haut
MonBouton.Height = 375
MonBouton.Width = 1095
MonBouton.Caption = "Btn " & j
Haut = Haut + 375
...
Next j

Exemple de ce que je souhaite

public sub Btn 1_click()
blabla...
end sub

Merci d'avance
RomBJX

7 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
9 sept. 2004 à 13:45
Passe par un groupe de bouton plutot que par un Add sur la collection Controls !! Par ta méthode tu ne peux pas accéder au evt des cotnrole ainsi créer !!

Christophe R.
0
philheiz Messages postés 117 Date d'inscription mercredi 3 décembre 2003 Statut Membre Dernière intervention 11 octobre 2007 1
9 sept. 2004 à 13:52
Pourquoi tu t'emmerdes avec cette technique ?

Tu crées un Button avec l'Index 0 (soit le premier d'un array de Buttons).

Tu double-clic dessus et tu attéris sur la procédure Event: Button1_click(Index as Interger).

Par exemple:
1 form avec un cmdButton nommé Command1

dans le form tu colles ce code:

Private Sub Command1_Click(Index As Integer)
MsgBox Index
End Sub

Private Sub Form_Load()
Dim i As Long
For i = 1 To 5
Load Me.Command1(Me.Command1.Count)
Me.Command1(Me.Command1.Count - 1).Top = Me.Command1(Me.Command1.Count - 2).Top + Me.Command1(Me.Command1.Count - 2).Height
Me.Command1(Me.Command1.Count - 1).Visible = True
Next i
End Sub
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
9 sept. 2004 à 13:53
En faisant un Dim Withevents ....

Amusez-vous ! ;)
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
9 sept. 2004 à 13:56
Si il le peut, mais en faisant un hook de la feuille contenant le bouton, donc vraiment pas pratique ! Donc passe par un groupe de bouton, et crée un bouton patron pour avoir accès aux événements identifiés par un index.

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
10 sept. 2004 à 07:51
si tu en as plusieurs, groupe de controles....

sinon, je tenais a dire que Controls.add fonctionne également :

Dim WithEvents MonNouveauBouton As CommandButton

Private Sub Form_Load()
    Set MonNouveauBouton = Me.Controls.Add("VB.CommandButton", "Btn", Me)
    With MonNouveauBouton
        .Caption = "MonNouveauBouton"
        .Visible = True
    End With
End Sub

Private Sub MonNouveauBouton_Click()
    MsgBox "Et en plus, il fonctionne !"
End Sub


Amusez-vous ! ;)
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS
0
RomBJX Messages postés 2 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 10 septembre 2004
10 sept. 2004 à 18:02
Bon alors, y'a un petit souci...

- Le nombre de bouton varie (entre 20 et 40 bouton peuvent entre généré)
- Le nom des boutons varie ((le nom est pompé à partir d'une base), leurs caption sont aussi leurs noms)
-> donc j'aimerais tester l'évènement click sur le nom du bouon (et pas sur l'index parce que je compare le bouton à la base de données) afin d'exécuter le code correspondant

voilà j'espère que j'arrive à me faire comprendre

PS : peut etre qu'on peut le faire avec les groupes de boutons mais dans ce cas je sais pas comment faire... ;)

RomBJX
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
10 sept. 2004 à 18:11
Et bien à ce moment là, utilise la méthode de Renfield qui a l'air de marcher.

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
Rejoignez-nous