Creer un module de classe

Bonjour,

Au fil du temps, j'ai créer un formulaire grâce à votre aide.

J'en suis maintenant à réfléchir pour améliorer le code.

Mon formulaire comporte plusieurs textbox dont les événements se répètent.

J'ai du mal à comprendre le fonctionnement d'un module de classe.

Quelqu'un saurait-il comment écrire le code grâce à un ou des modules de classes pour ré écrire le code du fichier joint.

Cordialement

Bonjour,

Un exemple avec TxtBox_KeyPress

Le module de classe n'est pas destiné à gérer la diversité mais la quantité : Il s'applique indifféremment à tous les contrôles TextBox.

A la limite tu pourrais restreindre au 5 premiers TextBox en vérifiant leur N° d'index par exemple... mais ce n'est pas vraiment prévu pour ça : ça ne présente aucun intérêt.

Par contre si tu dois gérer un calendrier là ou ça peut devenir intéressant pour numéroter chaque jour et ajuster le jour de la semaine en face par exemple...

A+

242classe-tbxusf.zip (15.32 Ko)

Dans cette autre démo, le module de classe ne gère que les 6 Boutons de la deuxième page du multipage...

200classe-optbutusf.zip (14.83 Ko)

Dans cette autre démo, adaptée à un planning, le module de classe gère des Labels, mais ce ne serait pas fondamentalement différent avec des TextBox...

Bonjour,

Merci pour les différentes démo.

J'ai pu avancer un peu.

Je m'aperçois néanmoins que pour le formatage en couleur à l'entrée et à la sortie des txtboxes, ce n'est pas évident car les événements enter et exit ne sont pas présent.

Je cherche donc d'autres pistes.

Cordialement

Bonjour,

Ci-joint un squelette à tester et adapter.

Bonne journée

Bouben

Bonjour,

Je me permets de revenir sur le sujet, que j'ai laissé de côté quelques temps.

Après de nouvelles, recherche pour régler mon problème concernant les couleurs à l'entrée et à la sortie de mes textboxes, checkboxes...., j'ai trouvé quelque chose qui satisfait pas mal ce que je recherche (voir Copie de Couleur-Controle-USF 1).

Par contre, ce que je recherche ressemble plus à Copie de Couleur-Controle-USF 2.

J'ai donc 2 questions:

  • Quels sont les modifications a effectuer dans le code car en mettant les objets dans un multipage , cela ne fonctionne plus ?
  • Y-a-t-il une façon de définir le backcolor par défaut ? Le code actuel met n'importe quel objet en blanc à la sortie (normal, c'est ce que dit le code). Comme les backcolor par défaut sont différents selon les objets, je souhaiterait qu'à la sortie, on revienne à la couleur par défaut.

(je reviendrai certainement ensuite sur les différents formats des textboxes)

Cordialement.

Bonjour,

Cela concerne la 1ere question:

Dans le module1, lorsque j'ajoute le code:

ElseIf TypeName(ActiveObject) = "MultiPage" Then
Call subLightActiveControlIter(ActiveObject.ActiveControl)

j'ai le message: Propriété ou méthode non gérée par cet objet.

Sauriez vous pourquoi ?

Cordialement

Bonjour,

Petit à petit, je m'approche de la solution, grâce à différentes aides.

Ci-joint le fichier exemple "Copie de Couleur-Controle-USF 15".

Le fichier fonctionne. Cependant, mon projet comporte un multipage imbriqué dans un autre multipage.

Par conséquent, le code que j'ai trouvé, n'est pas suffisant:

Private Sub CouleurLastFocussedControl()
Dim LastFocussedControl As Control
  'This allows a control to be inside a frame inside a multipage
  'For nested multipages use a whileloop for example, I'm sure you can workout
  Set LastFocussedControl = ActiveControl
  If (Left(LastFocussedControl.Name, Len("Multipage")) = "MultiPage") Then
    Set LastFocussedControl = LastFocussedControl.Pages(LastFocussedControl.Value).ActiveControl
  End If
  If (Left(LastFocussedControl.Name, Len("Frame")) = "Frame") Then
    Set LastFocussedControl = LastFocussedControl.ActiveControl
  End If
LastFocussedControl.BackColor = vbRed
End Sub

L'auteur de ce code préconise un "whileloop" pour que le fichier "Copie de Couleur-Controle-USF 16" fonctionne correctement.

L'objectif recherché est:

  • Le control actif doit rester en rouge si on bouge le curseur sur le formulaire (excepté Frame et Multipage).
  • Le control actif doit devenir rouge entrant dans le control (excepté Frame et Multipage).
  • Au passage du curseur, si le control n'est pas actif, il doit devenir vert (excepté Frame et Multipage).
  • Lors de la sortie du control (via tab, enter, haut, bas) ou lorsque le curseur n'est plus sur le control, le control reprend sa couleur d'origine.

Merci de l'aide que vous pourrez m'apporter concernant le multipage imbriqué dans un multipage et le retour à la couleur d'origine à la sortie des controls. (merci de bien vouloir mettre des explications aux pistes que vous m'apporterez).

Cordialement.

Bonjour,

Ce fut laborieux, mais je suis arrivé à ce que je souhaitai.

Ci-joint.

Merci pour les différentes aides d'ici et d'ailleurs.

Cordialement

158nouveaumouse3.xlsm (39.80 Ko)
Rechercher des sujets similaires à "creer module classe"