cs_azazel
Messages postés10Date d'inscriptionlundi 29 juillet 2002StatutMembreDernière intervention26 février 2007
-
26 févr. 2007 à 14:52
cs_azazel
Messages postés10Date d'inscriptionlundi 29 juillet 2002StatutMembreDernière intervention26 février 2007
-
26 févr. 2007 à 17:13
Bonjour à tous,
Voilà mon problème : j'essaye de stocker un formulaire actif dans une variable déclaré en objet, mais lorsque je décharge ce form avec 'unload', ma variable se vide, et je ne peux donc plus rappeler mon formulaire. Voilà mon code :
J'ai un module qui déclare ma variable, et qui charge UserForm1 :
Public FormulaireActif as Object
Sub Demarrage()
Load Userform1
Userform1.show
End Sub
J'ai deux Forms nommés 'UserForm1' et 'UserForm2' dans lesquels j'ai un bouton 'CommandButton1' avec :
'Contenu de mon UserForm1 :
Private Sub UserForm_Initialize()
End Sub
Private Sub CommandButton1_Click()
Set FormulaireActif = me 'je stocke mon formulaire actif
Unload me 'je pense que c'est là qu'il me décharge ma variable, et je ne comprend pourquoi il ne me conserve pas sa valeur !
load Userform2
UserForm2.show
End Sub
'Contenu de mon UserForm2 :
Private Sub UserForm_Initialize()
End Sub
Private Sub CommandButton1_Click()
Unload me
load FormulaireActif 'c'est là que je me rend compte que ma variable est vide
FormulaireActif.show
End Sub
J'aurai pu utiliser hide, plutôt que de le décharger, mais j'ai besoin de réinitialiser mon UserForm1. Est-ce que quelqu'un a une solution? Si quelqu'un a une explication et encore mieux une solution...
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 26 févr. 2007 à 16:49
Quelque chose me dit que tu n'es pas en VB6 mais en VBA
Et si ce code marche parfaitement en VB6, il semblerait que en VBA il faille remplacer Set FormulaireActif me par Set FormulaireActif New UserForm1
Par contre j'ai pas regarder au niveau mémoire si ça provoque pas une fuite
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #