Modification Controles USF par Module de Classe

Bonjour à tous,

Dans le fichier joint, j'utilise un Module de Classe afin de modifier l'image de ToggleButton sur événement Click.

Malheureusement, je suis débutant en termes de Module de Classe.

Ce que j'aimerai faire c'est verrouiller/déverrouiller mes TextBox et comboBox en fonction de la valeur du toggleButton.

A l'ouverture, tous les Toggle sont = False et tous les texts et combos Box sont locked.

j'aimerai rajouter dans le module de classe, si Toggle = True alors le textbox ou combobox correspondant = unlocked et inversement.

Merci par avance !


EDIT :

Déjà il manque

Public NumBoxes As Collection

dans le code de l'userform

Et ensuite, je pense avoir résolu mon problème avec dans le module de classe :

Public WithEvents TargetBox As MSForms.ToggleButton

Private Sub TargetBox_Click()

Num = Mid(TargetBox.Name, 13)
   If TargetBox.Value = True Then
    TargetBox.Picture = Sheets("Paramètres").Image2.Picture
    Module_Maj_Contrat.Controls("Contrôle" & Num).Enabled = True
    Module_Maj_Contrat.Controls("Contrôle" & Num).Locked = False
    Else
    TargetBox.Picture = Sheets("Paramètres").Image1.Picture
    End If
End Sub

Je suis preneur pour d'autres solutions si vous en avez ! Je clos le sujet cet aprem.

Merci

16classe-ep.xlsm (268.00 Ko)

Bonsoir,

Pour mémo, version avec événement ramené dans le code du formulaire. Le module de classe ne gère que l'événement "Click" et rien d'autre, ce qui me parait être une utilisation plus orthodoxe.

Par définition, un module de classe sert à définir de nouveau événements, de nouvelles propriétés, ou de nouvelles méthodes (actions).

84classe-ep1.xlsm (266.10 Ko)

Bonjour Thev,

Je te remercie, et en effet ton code est vraiment propre. Et avoir ramené la macro dans le code du formulaire c'est super !

Bien que je ne comprenne pas toutes les commandes, je comprend le principe ce qui est déjà pas mal

Merci, je le garde sous le coude !

A plus !

Bonsoir,

Juste quelques précisions pour ce module de classe.

J'y ai donc défini :

  • 1 événement "Click" via l'instruction "Public Event"
  • 1 propriété en écriture pour l'objet UserForm via l'instruction " Public Property Set"
  • 1 propriété en lecture-écriture pour l'objet ToggleButton via les instructions " Public Property Get et Set"
Je n'ai pas défini de méthode (action) via une instruction "Public Sub"
Rechercher des sujets similaires à "modification controles usf module classe"