Le module de classe

Un module de classe pour quoi faire ... ?Retour au menu Contrôles divers

        Je me suis efforcé de comprendre à quoi pouvait servir un module de classe.
        Depuis bien longtemps, je fais des programmes et je n'ai jamais eu besoin
        d'un module de classe. Dans l'exemple que je propose, il me paraît indéniable
        que cela simplifie énormément le programme.
        Le module de classe va être utilisé pour gérer les 14 labels (Label)
        (Disponible à la rubrique téléchargement)

        Le formulaire

        Exemple : Afficher un formulaire (style calculette) pour effectuer une saisie de nombre.

Le formulaire affiché dans Excel
 
     
Le formulaire dans l'éditeur VBE (frmCalculette)
 
 

Le code associé à l'initialisation du formulaire frmCalculette

Dim Labels() As New Labels

Private Sub Userform_Initialize()

   Dim Nb As Integer , Ctrl As Control: Nb = 0

   For Each Ctrl In Controls

      If TypeName (Ctrl) = "Label" Then

         Nb = Nb + 1

         ReDim Preserve Labels( 1 To Nb)

         Set Labels(Nb).GroupeLabels = Ctrl

      End If

   Next

End Sub

Le code associé au module de classe intitulé Labels

Public WithEvents GroupeLabels As Msforms.Label

Private Sub GroupeLabels_Click()

   ReDim Temp( 0 ):    ReDim Signe( 0 )

   Select Case GroupeLabels.Tag

   Case "OK"

      ActiveCell.Value = frmCalculette.txtAffiche.Value

      Unload frmCalculette

   Case "Init"

      frmCalculette.txtAffiche.Text = ""

      frmCalculette.txtAffiche.SetFocus

   Case "Efface"

      ActiveCell.Value = ""

   Case Else

      frmCalculette.txtAffiche = frmCalculette.txtAffiche & GroupeLabels.Tag

   End Select

End Sub

Retour au début de document

Retour au début du document