Un petit tour sur les modules de classe

GeoTrouvePas

XLDnaute Impliqué
Bonjour tout le monde,

Je vais tenter de faire court et suffisament clair :

- J'ai X Userforms comportant plusieurs ComboBox.
- Sur chaque Userform, j'ai un Label nommé "LabelAlerte"
- J'ai créée le module de classe suivant pour modifier le backcolor de ces combos en fonction de leur contenu :

Code:
Public WithEvents MonCombo As MSForms.ComboBox
Private Sub MonCombo_Change()
    If MonCombo = "" Then
        MonCombo.BackColor = &HFF&
    Else
        MonCombo.BackColor = &H80000005
    End If
End Sub



Ma question : Je voudrais que mon module de classe fasse également apparaître ou disparaître le LabelAlerte situé sur le même Userform que le Combobox qui vient d'être modifié. J'ai essayé de rajouter :
Code:
Me.LabelAlerte.Visible = False
mais apparement la valeur de "Me" n'est pas utilisable dans le module de classe.

Auriez vous une idée ?

Je vous remercie par avance
 
Dernière édition:
G

Guest

Guest
Re : Un petit tour sur les modules de classe

Bonjour,

Voici un fichier avec deux modules de classes différent, un qui cherche le parent à l'initialisation et l'autre (plus simple) auquel on passe le labelAlerte.

Dans les modules de classe les objets combobox sont déclarés Private pour obliger à passer par la procédure d'initialisation.

A mon avis si tu n'as pas d'autre travail sur le userForm parent que d'afficher son labelAlerte alors choisit le module clsCombo_2. Et réserve l'autre pour les situations dans lesquelles ta classe aura a travailler sur plusieurs objets du userform parent.

A+
 

GeoTrouvePas

XLDnaute Impliqué
Re : Un petit tour sur les modules de classe

@Banzaï : bonjour et merci pour ta réponse.

@Hasco : tu me rends un fier service. Je vais étudier ça de près. Je ne sais comment te dire à quel point je te suis reconnaissant du temps consacré à mon problème. Je doute que ça puisse arriver un jour mais, sait on jamais, j'espère pouvoir te rendre la pareille un jour. Donc un immense merci à toi.

Bonne journée à tous.
 

GeoTrouvePas

XLDnaute Impliqué
Re : Un petit tour sur les modules de classe

Bonjour Laëtitia et merci pour ta participation.

C'est pas con en fait de déclarer tout simplement le label Alerte en public et de faire un petit "Set" lors de l'initialisation du userform. Sans doute la solution la plus simple. Autant les solutions d'Hasco sont relativement complexes et pas à la portée du premier venu, autant celle - ci, j'aurai du y penser par moi même.

Merci merci merci en tous cas.

Bonne journée
 

YANN-56

XLDnaute Barbatruc
Re : Un petit tour sur les modules de classe

Bonsoir à tous,

J'ai un instant regardé ce qu'il était possible de faire avec ma bidouille jointe. :confused:

Bon! Je reconnais être bien loin de l'objectif de GeoTrouvePas, mais je trouve ce truc marrant:

Quand on choisi dans la liste des Fruits: "Frittes" le Label1" se met en orangé,
et il en est de même pour "Canard" dans la liste des Poissons... qq soit l'USF
(Façon de visualiser les incohérences)

Amusant, n'est-il pas? :eek:

Je suis incapable peaufiner cette idée... Faute de savoir gérer les objects

Mais si quelqu'un veut s'en amuser...Je pense qu'il y a à matière.

Amicalement et conscient que le ridicule ne tue pas... Ouf :p

Yann
 

Pièces jointes

  • POUR_VOIR.xls
    37.5 KB · Affichages: 56

YANN-56

XLDnaute Barbatruc
Re : Un petit tour sur les modules de classe

Bonjour à ceux qui passeront par ici,

Désolé pour le peu de sérieux de mon Post précédent!

Au bénéfice de l'idée de Laetitia :), j'ai fais une petite adaptation à ma sauce.
Ce n'est pas de la grande cuisine, mais les ingrédients sont à portée de ma main.

L'hypothèse est un choix non-cohérent dans les ComboBoxes:
Exp:
"Locomotive" Dans la Série "Fruits"
"Chalutier" Dans la Série "Poissons"
"Papillon" Dans la Série "Viande"

Là le Label "LabelAlerte" réagit bien...

Mais l'action ne se fait que dans l'USF3", et non dans l'USF concerné.
Je ne suis pas parvenu à rectifier cette erreur.

Si quelqu'un sait comment rectifier mon code. Merci par avance.

Amicalement

Yann
 

Pièces jointes

  • AUTRE.zip
    19.6 KB · Affichages: 32

YANN-56

XLDnaute Barbatruc
Re : Un petit tour sur les modules de classe

Bonjour Laetitia :), et à ceux qui passeront par ici,

J'ai revu mon dernier Classeur en revenant sur l'analyse d'un choix nul dans un Combobox.
(La détection d'une incohérence n'était précédemment là que pour un cas d'étude)

La "Finalité" n'est que de simplifier l'écriture dans les divers USF.

Notre ami dit en avoir une trentaine; donc il n'est pas négligeable de ne pas avoir à
se farcir pour chaque l'ajout de ses Comboboxes au groupe (Module de Classe)
Voire autres mises en place et en forme de certains contrôles.

Le Module "INI_USFS" est là pour cela.

J'aurais aimé que le Module de Classe ait une action seulement dans
l'USF actif....... Càd: Uniquement dans son propre "LabelAlerte"

Merci à toi de m'avoir répondu; c'est sympa!

Amicalement, et en l'attente de ton avis éclairé (Comme d'hab.)

Yann
 

Pièces jointes

  • AUTRE_1.zip
    20.5 KB · Affichages: 30

laetitia90

XLDnaute Barbatruc
Re : Un petit tour sur les modules de classe

bonjour tous
YANN je viens de regardais ton dernier fichier
les combos sont tous dans un frame si pas le cas supprime un "parent"
je me suis inspire des réflexions de l'ami Hasco :) & Pierrot:)
attention peut être des bogues c'est du vite fait!!
autrement il faut partir sur le code de l'ami Hasco . mais j'ai pas le niveau pour adapter son code trop complexe pour moi desole:(:(

ps: supprime cette ligne dans INI_USF elle sert a rien
Set LABEL_ALARME = .LabelAlerte
 

Pièces jointes

  • Copie de AUTRE_1.zip
    21.4 KB · Affichages: 30
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : Un petit tour sur les modules de classe

Bonsoir Laetitia,

Pardon, mais tu as sans doute trop vite regardé. :confused:

Mes Combos sont tantôt dans un Frame, l'un ou l'autre ou pas; et cela n'a aucune incidence.
D'où l'avantage de ne pas se prendre les pieds dans ceux des parents.:)

Quant à opter pour la solution super pro;
je suis loin d'en avoir la comprenette suffisante, comme tu le dis aussi.

Je vais m'amuser à peaufiner cette idée pour ma gouverne.
Peut-être en récupérant un Tag de l'USF activé, ou du Combobox modifié?
(Mais certainement en laissant grand-père et grand-mère tranquilles) ;)

Si la simplicité n'est pas au coin de la rue, je changerai de trottoir!!!

Amicalement, et grand Merci d'avoir investi un morceau de ton temps.

Au plaisir :), et avec mes respects.

Yann
 

YANN-56

XLDnaute Barbatruc
Re : Un petit tour sur les modules de classe

Bonjour Fo_rum, et à ceux qui passeront par ici,

Merci pour ta démonstration.
Tu viens de me convaincre que les Parents sont encore une fois incontournables. :)

Je vais donc abandonner mon entêtement un peu stupide!
(Et parallèlement apprendre à me servir des functions ... Il y a du Boulot!:()

Amicalement, et au plaisir de te croiser à nouveau.

Yann
 

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 299
Membres
103 173
dernier inscrit
Cerba95