kalobit
Messages postés169Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention 7 avril 2008
-
30 janv. 2006 à 15:39
kalobit
Messages postés169Date d'inscriptionmardi 15 juillet 2003StatutMembreDerniè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
kalobit
Messages postés169Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention 7 avril 20082 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.