re
ok
map >> quoiqu'est ce
c'est vrai ça fait parti du jargon informatique de certains développeurs dont moi
en fait ca veux dire en quelque sorte une copie ou un calque comme tu veux
j'explique
quand tu classe tes controls tu les classe chacun dans une instance de la classe
et l’événement du control est géré ensuite par par la
COPIE DE L ÉVÉNEMENT ORIGINAL qui est
public withevents nomcommun as msforms.[typedecontrol])
la classe peut être un module classe ou comme dans le cas de cette discussion le module userform qui est lui même un module classe a part entière
JE DIT BIEN LE MODULE DE L ' USERFORM !!! JE NE DIS PAS USERFORM (dédicace a dranreb )
ne pas confondre vbcomponents.module et userform
on a donc en CHARGE !! mémoire après classement et!! en fonctionnement
1 module userform(
original + object userform + controls + code et tout et tout )
ET!!!
x moduleS userform (avec seulement le code et
SEULEMENT les controls classés
ET C'EST TOUT )'c'est un MAP ou COPIE ou CALQUE ou faux JUMEAU comme tu veux
pour te la faire courte
une map monde c'est une carte du monde pas le monde
les boucles sur controls
en effet la boucle
for each ctrl in Userform1.controls est récursive
c'est a dire que
si le parent dans la boucle c'est l'userform elle va lister les enfants directs et !! les sub enfants (ceux qui sont dans frames par exemple ,etc..)
bref comme j'ai dis précédemment avec cette méthode le
contexte parent direct/control n'est plus tout les object appartiennent a l'userform
PERSO je préfère cette boucle dans les classe car justement le contexte parent/enfants direct et plus compliqué a gérer selon si l'on classe parent+enfants ou pas dans un soucis d’économie de mémoire physique
(je rapelle tout de même que pour 2007 par exemple l'application dispose de 2 giga de mémoire seulement )
sur les versions sup a 2007 je sais pas
conclusion
pour classer tes controls
il te faut le MAP events(All evenement) qui est
public withevents nomcommun as msforms.[typedecontrol])
une variable (tableau ou collection si plus de 1 controls a classer)
dim maclass() as new (nom moduleclasse ou nom userform)
et le
maPping se fait dans la boucle redim preserve variable (1 to index of class) et le
SET
et dans un soucis de mémoire minimum a utiliser choisir de seulement mapper les evenement object et propriétés qui seront utiles
j’espère avoir répondu a tes questions