Bonjour,
J'ai une question a poser à propos d'un programme en VBA.
J'ai deja posé la question dans le forum VBA, et on m'a conseillé d'aller voir un forum vb. Mais je crois que ce problème peut tout aussi bien s'appliquer au VB.
Voici don ma question reformulée (ou copiée-collée).
Je cherche un moyen de lancer une procedure qui se trouve dans un module annexe, lorsqu'une variable voit sa valeur modifiée dans le programme principal.
Plus en détails :
Dans mon module annexe, 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, mon module annexe (qui pourrait aussi bien etre une macro competmentaire) 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 le réecrire, et puis c'est plus marrant comme ca). 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'un procedure lorsqu'une variable est modifiée.
Je suis débutant et je ne sais pas comment gerer les evenements.
C'est pour cela que je voulais savoir à quoi pouvait ressembler le code qui permet de lancer une procedure, lorsqu'une variable est modifiée.
J'ai trouvé ce post, mais je ne sais pas comment utiliser les "set et les "get" pour arriver à mes fins.
Est-ce que je devrai necessairement avoir recours à la création d'une classe ?
D'avance, Merci.
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 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
Partager