XL 2019 Module de classe - Texbox AfterUpdate event

vgendron

XLDnaute Barbatruc
Bonjour à tous,

Je vous soumets mon souci
j'ai un formulaire sur lequel j'ai dessiné une frame qui contient 2 textbox que j'ai nommés Tbx_Source1 et Tbx_Dest1
Dans le code du userform, j'ai ajouté le "tbx_Source1_afterupdate" qui provoque le remplissage du Tbx_Dest1
jusque la. tout va bien

Maintenant, j'ai aussi un bouton qui me permet de dupliquer la frame avec ses deux boutons, et qui les renomme Tbx_Source2 etTbx_Dest2
je peux donc ajouter autant de frames que de clics bouton.

je me retrouve donc avec un formulaire contenant les Tbx_Source1 2 3 4...X et les Tbx_Dest 1 2 3 4 ...X
mais en l'état.. un changement de valeur dans les textbox Tbx_Source 2 3 4..X ne provoque pas la mise à jour des Tbx_Dest..
normal puisque il manque les codes pour les Tbx_Source...._afterupdate

Il me semble qu'une solution, c'est de passer par un module de classe dans lequel je devrais définir les évènements

mais alors la.. je sèche. apparemment, l'évènment _afterupdate n'est pas dispo dans une classe pour un textbox
j'ai vu un peu de tout: le keypress up / down ==> la touche entrée ne le déclenche pas
lostfocus / getfocus...?
raiseevent... pour lancer une macro qui fait le boulot du "afterupdate"..???

je m'y perds et à force de tester dans tous les sens un peu de tout, je vois que je ne maitrise pas du tout la mécanique...
quelqu'un saurait il m'aiguiller ?

en PJ le fichier sur lequel j'essaie de me former..


Merci
 

Pièces jointes

  • Module Classe AfterUpdate Event.xlsm
    35.4 KB · Affichages: 9

vgendron

XLDnaute Barbatruc
Hello tous
Je vois que pendant que je prends l'apéro d'autres sont aux fourneaux
:)
la listview c'est presque normal je dirais c'est toujours un soucis avec le MSCOMCTL.OCX et différent des versions 32/64 et même entre versions excel
@patricktoulon
effectivement, je confirme: dans mon précédent taf, il fallait même, selon les version de office, installer un add on "component one" pour pouvoir utiliser les controls tels que "ListView, TreeView, Flex" qui ne sont pas natifs d'excel.
j'avais hérité d'une belle usine à gaz avec un code à rallonge NON docummenté... je me suis bien amusé...

@Dudu2
Le UserForm est me semble-t-il aussi une Classe dont on peut dévier l'utilisation pour un WithEvents
Je pense que ca rejoint une proposition que m'avait faite Patrick sur un autre post et qu'il a sans doute refaite dans son dernier message ici que je ne suis pas encore allé voir au moment ou j'écris

j'y vais de ce pas..

@patricktoulon
merci
j'ai ouvert le fichier et tu résouds plusieurs soucis que j'avais eu
1) copy des frames: plus besoin d'aller chercher la dernière: effectivement. je me suis perdu dans mes tests
initialement, je voulais trouver l'index de la frame dont je connaissais le nom
je m'explique
quand on fait une boucle sur le nombre de controls
for i=1 to me.controls.count
msgbox me.controls(i).name
next i

à l'inverse, je voulais récuperer le i du control dont le nom est connu (Sans avoir a faire de boucle)
genre: Me.controls("NomControle").index

2) la copie de la frame garde les tags des controls copiés
moi.. j'étais obligé de redefinir les tags au sein de la classe...==> maintenant que j'y pense, ca me confirme que l'association que je faisais des controls à la classe n'était pas bonne...


3) l'assocation que tu fais entre le tbxSource et tbxDest: plutot interressant, plus besoin d'extraire le numéro.

bon bah. en attendant une percée du soleil, je vais aller voir tout ca

Bon dimanche à tous. enfin. ce qu'il en reste.. on s'est fait gratter une heure!
 

patricktoulon

XLDnaute Barbatruc
re
me voilà rentré pas trop tard finalement
oui vgendron c'est ça le but
que dans l'event classe le jumeau (tbx_Dest)soit reconnu et cela dans chaque frame
c'est pour ca que le l'intègre a la classe au départ
après oui en copiant le première frame tu n'ennuie pas
c'est nbenfants au quel il faut porter attention pour le renommage finalement c'est elle la plus importante au bout du compte
les tags je n'avais pas regardé je me suis concentré sur la mécanique en gardant ton model de base a savoir la copie de frame de base /renommage/ reclassement
le tout bien evidement sans module classe (tout dans le userform )
 

Discussions similaires

Réponses
29
Affichages
2 K

Statistiques des forums

Discussions
315 093
Messages
2 116 123
Membres
112 666
dernier inscrit
Coco0505