@patricktoulon
whaooou ! super convaincante, ta démo !!! surtout qu'j'ai même pas eu besoin
d'cliquer sur le UserForm pour l'activer, et il s'est bien placé automatiquement
contre le bord gauche de l'écran ; j'adore !!!
et cela même si en pratique :
je me sers du Initialize() pour initialiser des variables qui sont ensuite utilisées
dans les autres subs du UF, pas pour positionner le UF contre le bord gauche ;
et si j'avais eu besoin de mettre le UF contre le bord gauche, ou à un autre
endroit que le milieu horizontal de l'écran, j'aurais mis la position dans le Left
des propriétés du UF, directement ;
mais j'comprends bien qu'ton exemple
était juste une démo pour montrer la différence entre Initialize() et Activate(),
ce que tu as démontré avec brio ! chapeau !!!
pour la 2ème partie, ça a bien démontré que la fonction calcul() du UserForm
est bien exécutée par la sub test() du module standard, alors même que le
UserForm n'est pas affiché ; bravo aussi pour cette autre démo, qui est très
intéressante !!!
pour ta dernière phrase, avec « classe controls », c'est trop technique pour moi !
j'ai déjà tellement à faire avec les modules standards, les UserForm, ou le code
de ThisWorkbook, ou celui d'une feuille de calcul, que pour l'instant, ce qui
concerne les modules de classe, je préfère m'en passer ; j'avais utilisé une seule
fois un module de classe, avec Excel 2003, pour créer une barre d'outils de
conversion Francs / Euros de la valeur de la cellule active, appelable depuis
n'importe quel classeur Excel (et pas uniquement par le classeur en cours) ;
je ne l'ai pas gardé car avec Excel 2007, ça va dans l'onglet « Compléments »
du Ruban, et si je suis sur un autre onglet, on ne le voit plus ; alors qu'avant,
ma barre d'outils d'Excel 2003 était visible en permanence dans le menu !
aussi, pour ce côté là, c'est devenu moins bien qu'avant ! comme quoi les
nouvelles versions d'Excel ne sont pas forcément mieux sur tous les points !
(comme ce post est assez long, tu comprends pourquoi j'ai beaucoup tardé
à te répondre ! et prends aussi en compte le temps que j'ai pris pour faire
les essais de tes 2 démos. )
soan