Ben oui... Forcément. Si on décharge le formulaire, on perd les valeurs des contrôles du userform
C'est pourquoi le bouton de validation du userform ne contient pas unload me mais me.hide, ce qui fait que le usf reste chargé et qu'on peut utiliser les valeurs des contrôles (et toutes les autres propriétés du usf, d'ailleurs).
Si tu as unload me sur le bouton de validation (dans le module du usf, donc), puis que tu appelles une propriété du usf (après qu'il soit déchargé, donc), par exemple userform1.textbox1.Value, tu vas implicitement charger une nouvelle fois le userform avec, bien entendu, ses valeurs par défaut qui ne seront forcément pas celles saisies par l'utilisateur.
Prends le temps de regarder en pas à pas le code que j'ai donné dans mon premier message en saisissant des données dans les textbox, puis modifie me.hide en unload me et refais l'opération en pas à pas. Tu verras bien qu'avec me.hide, le usf n'est plus visible mais tu récupères bien les données saisies, alors qu'avec unload me, non seulement tu as perdu les valeurs saisies, mais en plus, tu as à nouveau chargé le formulaire.
Partager