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 27 boutons (CommandButton)
        (Disponible à la rubrique téléchargement)

        Le formulaire

        Exemple : Afficher une liste de personnes commençant par la lettre sélectionnée.

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

Le code associé à l'initialisation du formulaire frmTelephone

Dim Boutons() As New TriAlpha

Private Sub UserForm_Initialize()

  Dim Nb As Integer , Ctrl As Control

  Nb = 0

  ' Récupérer les boutons du formulaire qui appartiennent

  ' à la nouvelle classe de boutons créée.

  For Each Ctrl In frmTelephone.Controls

    If TypeName (Ctrl) = "CommandButton" Then

      If Ctrl.Name <> "CmdFermer" Then

        Nb = Nb + 1

        ReDim Preserve Boutons( 1 To Nb)

        Set Boutons(Nb).GroupeBouton = Ctrl

      End If

    End If

  Next

  ' ... Ici votre code VBA ...

End Sub

Le code associé au module de classe intitulé TriAlpha

Public WithEvents GroupeBouton As Msforms.CommandButton

Private Sub GroupeBouton_Click()

  LettreSelect = GroupeBouton.Caption

End Sub

Retour au début de document

Retour au début du document