Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question' Created by 3ddI7IHd ' Creation date: 27-05-2009 ' Code Reason: création de la classe d’événement pour les contrôles textbox, combobox et autre listbox Option Explicit Dim AllTextbox() As CtrlEvents, NbCtrl As Integer Public mesFeuilles As New Collection Sub Class_Initialize() 'initialisation de la classe Dim MyCtrl As Control, i As Integer 'on determine le nombre de controle a affecter a la classe For Each MyCtrl In MaForm.Controls If TypeOf MyCtrl Is MSForms.TextBox Or TypeOf MyCtrl Is MSForms.ComboBox Or TypeOf MyCtrl Is MSForms.ListBox Then i = i + 1 End If Next ReDim AllTextbox(i) i = 0 'affectation des controles For Each MyCtrl In MaForm.Controls If TypeOf MyCtrl Is MSForms.TextBox Then Set AllTextbox(i) = New CtrlEvents Set AllTextbox(i).Mestextbox = MyCtrl i = i + 1 ElseIf TypeOf MyCtrl Is MSForms.ComboBox Then Set AllTextbox(i) = New CtrlEvents Set AllTextbox(i).MesCombobox = MyCtrl i = i + 1 ElseIf TypeOf MyCtrl Is MSForms.ListBox Then Set AllTextbox(i) = New CtrlEvents Set AllTextbox(i).Meslistbox = MyCtrl i = i + 1 End If Next 'on met de coter le nombre de controle attacher a la classe pour l'etape de vidage NbCtrl = i End Sub Sub Class_Terminate() 'ici on vide la classe Dim i As Integer For i = 1 To NbCtrl On Error Resume Next Set AllTextbox(i) = Nothing Next End Sub
' Created by 3ddI7IHd ' Creation date: 28-05-2009 ' Code Reason: Classe d'evenement pour les controles textbox, combobox et autre listbox ' de la form MaForm. Cette methode permet de ne pas avoir a gerer chaque controle ' independament mais par famille de controle. Autrement dit cela permet d'eviter la ' repetition de code. Option Explicit Public WithEvents Mestextbox As MSForms.TextBox Public WithEvents MesCombobox As MSForms.ComboBox Public WithEvents Meslistbox As MSForms.ListBox Private Sub MesCombobox_Change() 'action pour combo End Sub Private Sub Meslistbox_Change() 'action pour liste End Sub Private Sub Mestextbox_Change() 'action pour textbox End Sub End Sub
Public AllCtrl As New EventsOnMyCtrl
Sub CestPartie () Call AllCtrl.Class_Initialize End Sub