Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Désolé, je ne sais absolument pas le faire. Je ne sais pas si c'est possible.
Daniel
Ce navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Bonjour à tous,
Les modules de classe ne sont pas mon quotidien ! Les évènements ne se déclenches pas ! Une idée ? C'est surement devant mon nez !
(version allégée)
Module 1
Sub Test\_Evenement()
Dim MaChose As Chose
Set MaChose = New Chose
MaChose.value = 1000
End Sub
Classe Chose
Public Event Alerte(ByVal PreviousValue As Double)
Private cpValue As Double
Property Let value(NewValue As Double)
Dim Previous As Double
If NewValue >= 200 Then
Previous = cpValue
'cpValue = NewValue
RaiseEvent Alerte(Previous) ' <========= Passe ici sans erreurs et continue son chemin
DoEvents
Else
cpValue = NewValue
End If
End Property
Classe Chose_Events
Dim WithEvents MaChose As Chose
Private Sub Class_Initialize()
Set MaChose = New Chose
End Sub
Private Sub MaChose_Alerte(ByVal PreviousValue As Double)
MsgBox "Pas bon : " & PreviousValue
End Sub
Merci
Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.
Désolé, je ne sais absolument pas le faire. Je ne sais pas si c'est possible.
Daniel
Bonjour Daniel,
Dans Module 1, quand s'exécute "MaChose.value = 1000" cela déclenche l'exécution de "Property Let value(NewValue As Double)" du module de classe Chose.
Lors de cette affectation (Let) j'aimerai qu'un évènement se déclenche selon certain cas (>200 par ex)
Bonjour Arnaud,
Désolé, je ne comprends pas, mais c'est sans doute lié à mon peu de connaissance des modules de classe. Concrètement, qu'est-ce qui doit déclencher la macro ? Pour moi, les modules de classe sont liés à des évènements, et je ne vois pas d'évènement déclencheur.
Quel est problème cherches-tu à résoudre ?
Cordialement.
Daniel
Bonsoir Daniel,
C'est plus par curiosité (pour paraitre moins bête :) au café )
Je déclare une classe Chose et j'ai déclaré les 2 Property Get et Let pour accéder à la valeur en lecture écriture via Value ==> semble fonctionnel
Je voulais ajouter un évènement qui se déclencherait si la valeur affectée est par exemple > 200.
? pb d'initialisation de la classe Chose_Events et si ou comment le faire ?
Bonsoir Arnaud,
Les modules de classe, ce n'est vraiment pas ma tasse de café. Personnellement, j'ai deux ou trois modèles que je modifie (le moins possible) quand j'en ai besoin. Peux-tu me dire ce que tu souhaites faire (c'est loin d'être évident pour moi). Je regarderai demain soir, car là, j'étais en train de fermer la boutique.
Cordialement.
Daniel