Controles des évènements sur un groupe de textbox

Résolu
kalobit Messages postés 169 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 7 avril 2008 - 30 janv. 2006 à 15:39
kalobit Messages postés 169 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 7 avril 2008 - 31 janv. 2006 à 18:02
Bon je poste ici un petit bout de code car je viens de trouver comment contrôler l'evènement change d'un groupe de textbox.


Pour le principe, on utilise toujours une classe d'objet dans laquelle on déclare la gestion d'évènement pour le type de control.


C'est là justement que viens mon astuce. Si on déclare


public withevents TB as textbox
comme on peut le faire pour das combobox

On a l'erreur "cet objet ne gère pas automation".


L'astuce consiste donc à déclarer


Public WithEvents TB As MSForms.TextBox


et là, ça passe à tous les coups.

Donc je récap

un module de classe

Public WithEvents TB As MSForms.TextBox



Private Sub TB_change()
Debug.Print TB.Text
End Sub

Un userform :

Dim TextBoxGroup() As New Class1


Private Sub UserForm_Initialize()


Dim counter As Integer
For Each ctrl In Me.Controls
If TypeName(ctrl) = "TextBox" Then
counter = counter + 1
ReDim Preserve TextBoxGroup(1 To counter)
Set TextBoxGroup(counter).TB = ctrl
End If
Next


End Sub

et voilà

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
31 janv. 2006 à 03:10
salut,

si c'est une solution que tu proposes (et que tu ne voulais pas la mettre en source), il y a une rubrique trucs et astuces ;)
3
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
30 janv. 2006 à 18:59
Tu peux y arriver en créeant une interface que tu utilisera grace a la commande "Implements"

@+


E.B.
0
kalobit Messages postés 169 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 7 avril 2008 2
30 janv. 2006 à 20:39
salut,

Si tu pouvais développer un peu ça, ça m'interresse.
En fait j'ai pas trop saisi à quoi sert "implements".
0
kalobit Messages postés 169 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 7 avril 2008 2
31 janv. 2006 à 18:02
dsl, j'avais pas fait gaffe.

bon, j'ai jeté un oeil sur implements, c'est assez interressant. en fait. Mais bon l'aide de vba est pas très claire sur le sujet donc en fait pour résumer, ça sert à appliquer un modèle à un module de classe.

On crée le modèle dans un module de classe avec les property, les function et autres sub.

Dans un autre module de classe, on insert implements + le nom du modele

et voilà, on peut faire appelle aux procédure du modèle sur le module de classe sans que celui ci contienne réellement le code. Ca c'est frot.

Merci EB
0
Rejoignez-nous