[VBA] Comment gerer l'evenement : Modification de la valeur d'une variable ?

  • Initiateur de la discussion Initiateur de la discussion AntoMeu
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

AntoMeu

XLDnaute Nouveau
Bonjour Bonjour !
J'ai déjà posté sur ce forum, mais en discutant avec vous, et avec l'aide que vous m'avez apporté, j'ai essayé de recibler ma question sur le vrai problème (d'où un post avec un nouveau nom), et je vais essayer de l'exposer plus clairement (ce qui n'etait pas évident jusqu'ici).

J'ai une macro complémentaire dans laquelle j'y ai défini un type de varible personalisé, et des procedures particulières que j'aimerai voir executées lorsque dans le programme principal, un élement de ma variable "maison" , est modifié.


Je m'explique, ma macro complémentaire est un module de calculs de nombres complexes. (oui je sais excel integre une macro complementaire, mais j'avais un peu de mal a l'utiliser, alors j'ai voulu faire la mienne, et puis en plus c'est marrant). Jusque là, il y avait tout ce qui falait pour manipuler les nombres complexes, lorsqu'ils étaient définis en réel/imaginaire. Mais pas en module phase.
Alors dans ma variable "complex" (voir ci-dessous), j'ai voulu ajouter les elements .m (module) et .p (phase).
Et ce que je voulais, c'etait que les elements .m et .p soient automatiquement calculés dès que .R et .i se voyaient affecté dans mon programme principal.
Et vice-versa, que .R et .i soient calculés lorsque .m et .p sont modifiés.
Tout cela de manière totalement transparente pour le programme principal.

D'ou l'idée du lancement d'une procedure lorsqu'une variable est modifiée.

Je suis débutant et je ne sais pas comment gerer les evenements. Je crois qu'il est question d'utiliser un accesseur publique avec les instructions get et set, mais je ne comprend pas bien comment cela se met en place, malgré les FAQ et les didactitiels que j'ai pu lire.
C'est pour cela que je me demandais à quoi pouvait ressembler le code qui permet de lancer une procedure lorsqu'une variable est modifiée.
Je vous serai extremement reconnaissant si vous me donniez un element de réponse à cela.


Pour info, ci-dessous, le tout debut de ma macro complémentaire avec la variable type complexe, et les deux procedures qui doivent se lancer sur modification des élements de la variable.

Code:
Type Complex
R as double        'Partie Réele
i as double        'Partie Imaginaire
m as double        'Module
p as double        'Phase
end type

Sub Qd_r_ou_i_est_modifié()
With complex
.m = Sqr(r^2+i^2)[
.p = atn(i/r)
End With
End sub

Sub Qd_m_ou_p_est_modifié()
With complex
.r = m * cos(p)
.i = m * sin(p)
End With
End sub
 
Dernière édition:
Re : [VBA] Comment gerer l'evenement : Modification de la valeur d'une variable ?

Avec ce que je suis en train de lire, je suis en train de me demander si je ne dois pas plutot definir une classe avec des proprietés, qu'un type de variable avec des elements.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
626
Réponses
5
Affichages
569
Retour