OVH Cloud OVH Cloud

Evenement "tableau"

2 réponses
Avatar
Rekam
Bonjour à tous

J'ai bien peur de connaître la réponse, mais je me risque tout de même, on
ne sait jamais...

Est-ce possible d'assigner une fonction événementielle pour plusieurs objets
? Par exemple, j'ai 25 checkbox (cb1, cb2, etc.) et j'ai 25 Textbox
correspondantes (tb1, tb2, etc.). Suis-je obligé d'avoir, pour les 25
checkbox, l'événement Change qui me permettrait de changer l'Enable du
textbox correspondant ? (cb1 checked = tb1 enabled true)

Merci de vos réponses

2 réponses

Avatar
anomymousA
bonjour,

non ce n'est pas nécessaire. Il te faut créer un module de classe qui
déclare l'évenement click pour un checkbox puis ensuite activer ce que tu
veux faire pour ton textbox associé.Puis ensuite faire une réference pour
chaqun de tes ckeckbox à uen instance du module de classe.
Je n'ai pas essayé avec Change pour un checkbox mais je pense que ca peut
marcher

exemple suivant avec des texbox

Créer un module de classe qui s'appelle ModClass et contenant le code
suivant :

Public txbox As MSForms.TextBox

Sub form()

txbox.Enabled = False
txbox.BackColor = &HC0FFFF
End Sub

A mettre dans ton code de userform

Private Sub UserForm_Initialize()

Dim txbox(1 To 2) As New ModClass
txarr = Array(TextBox1, TextBox2)

For I = 1 To 2
Set txbox(I).txbox = txarr(I - 1) 'TextBox1 ' & I
txbox(I).form
Next

End Sub

A l'issue de ce code, les 2 texbox auront été invalidés et la couleur de
fond sera grise. Il va de soi qu'au lieu de faire une procédure Form tu peux
écrire un évenement Click ou Change mais il te faudra alors déclarer dans ton
module de classe la variable txbox come Public with Events txbox as
MSForms.TextBox

Sais pas si j'ai été très clair mais c'est le début de l'année.

A+ si besoin.


Bonjour à tous

J'ai bien peur de connaître la réponse, mais je me risque tout de même, on
ne sait jamais...

Est-ce possible d'assigner une fonction événementielle pour plusieurs objets
? Par exemple, j'ai 25 checkbox (cb1, cb2, etc.) et j'ai 25 Textbox
correspondantes (tb1, tb2, etc.). Suis-je obligé d'avoir, pour les 25
checkbox, l'événement Change qui me permettrait de changer l'Enable du
textbox correspondant ? (cb1 checked = tb1 enabled true)

Merci de vos réponses


Avatar
Rekam
okay, je vois le concept. En fait, là, ça ressemble plus à du VB.NET que du
VB6. Je vais donc faire comme ça. Merci encore!


bonjour,

non ce n'est pas nécessaire. Il te faut créer un module de classe qui
déclare l'évenement click pour un checkbox puis ensuite activer ce que tu
veux faire pour ton textbox associé.Puis ensuite faire une réference pour
chaqun de tes ckeckbox à uen instance du module de classe.
Je n'ai pas essayé avec Change pour un checkbox mais je pense que ca peut
marcher

exemple suivant avec des texbox

Créer un module de classe qui s'appelle ModClass et contenant le code
suivant :

Public txbox As MSForms.TextBox

Sub form()

txbox.Enabled = False
txbox.BackColor = &HC0FFFF
End Sub

A mettre dans ton code de userform

Private Sub UserForm_Initialize()

Dim txbox(1 To 2) As New ModClass
txarr = Array(TextBox1, TextBox2)

For I = 1 To 2
Set txbox(I).txbox = txarr(I - 1) 'TextBox1 ' & I
txbox(I).form
Next

End Sub

A l'issue de ce code, les 2 texbox auront été invalidés et la couleur de
fond sera grise. Il va de soi qu'au lieu de faire une procédure Form tu peux
écrire un évenement Click ou Change mais il te faudra alors déclarer dans ton
module de classe la variable txbox come Public with Events txbox as
MSForms.TextBox

Sais pas si j'ai été très clair mais c'est le début de l'année.

A+ si besoin.


Bonjour à tous

J'ai bien peur de connaître la réponse, mais je me risque tout de même, on
ne sait jamais...

Est-ce possible d'assigner une fonction événementielle pour plusieurs objets
? Par exemple, j'ai 25 checkbox (cb1, cb2, etc.) et j'ai 25 Textbox
correspondantes (tb1, tb2, etc.). Suis-je obligé d'avoir, pour les 25
checkbox, l'événement Change qui me permettrait de changer l'Enable du
textbox correspondant ? (cb1 checked = tb1 enabled true)

Merci de vos réponses