OVH Cloud OVH Cloud

hide mais pas unload d'une userform

1 réponse
Avatar
Aurélien
bonjour,

Je suis un peu surpris du comportement de ma userfom quand je la cache (elle
s'unload à la place) et donc je vous en fais part pour savoir a quel moment,
c'est moi qui suis à l'ouest.

Voila, dans mon programme (sous excel 2000), je genere des classeurs. Pour
l'instant tout va bien !
Excel affiche donc à l'écran le nouveau classeur et pour que l'utilisateur
puisse interagir sur cette feuille, je voulais cacher ma userform par
l'option "hide" mais cela ne marche pas, elle est déchargée de la mémoire.

Aprés quelques tentatives, j'ai pu déterminer que c'étais uniquement
parceque j'avais crée un nouveau classeur.

Je m'explique, sur ma userform, j'ai fais l'option hide quand je reste dans
mon classeur d'origine sans créer de nouveau fichier, ca marche.
J'ai fais activer un autre classeur excel (par le code car ma userform est
modale), toujours sans generer de nouveau classeur, puis l'option hide ca
marche.
Je fais generer un classeur puis hide et là ca ne marche plus.
Je fais generer un classeur puis activer mon classeur d'origine et là ca ne
marche pas non plus.

le probléme vient donc de la création du nouveau classeur à priori.
qu'est ce que cela change pour la userform ? y'a t-il une facon de
contourner ce probleme ?

Et aussi, a quand l'été ? :)

merci pour vos réponses et toute l'aide dont j'ai déja pu profiter ici.

Cordialement,
A. DUCHAMP

1 réponse

Avatar
michdenis
Bonjour Aurélien,

Un petit test que j'ai fait :

Dans un nouveau formulaire, 2 commandbuttons

Le premier bouton de commande crée un nouveau formulaire et affecte à une variable déclarée Public une valeur.

Dans le ThisWorkbook du classeur, j'ai utilisé l'événement "activate" pour réafficher le formulaire, je n'ai pas été capable de
reproduire ta difficulté.
'----------------------------
Private Sub Workbook_Activate()
UserForm1.Show
End Sub
'----------------------------

'Dans le formulaire :
Public S As String
'-------------------------
Private Sub CommandButton1_Click()

S = "denis"
Workbooks.Add
Me.Hide
End Sub
'-------------------------

Private Sub CommandButton2_Click()
MsgBox S
End Sub
'-------------------------



Salutations!




"Aurélien" a écrit dans le message de news:

bonjour,

Je suis un peu surpris du comportement de ma userfom quand je la cache (elle
s'unload à la place) et donc je vous en fais part pour savoir a quel moment,
c'est moi qui suis à l'ouest.

Voila, dans mon programme (sous excel 2000), je genere des classeurs. Pour
l'instant tout va bien !
Excel affiche donc à l'écran le nouveau classeur et pour que l'utilisateur
puisse interagir sur cette feuille, je voulais cacher ma userform par
l'option "hide" mais cela ne marche pas, elle est déchargée de la mémoire.

Aprés quelques tentatives, j'ai pu déterminer que c'étais uniquement
parceque j'avais crée un nouveau classeur.

Je m'explique, sur ma userform, j'ai fais l'option hide quand je reste dans
mon classeur d'origine sans créer de nouveau fichier, ca marche.
J'ai fais activer un autre classeur excel (par le code car ma userform est
modale), toujours sans generer de nouveau classeur, puis l'option hide ca
marche.
Je fais generer un classeur puis hide et là ca ne marche plus.
Je fais generer un classeur puis activer mon classeur d'origine et là ca ne
marche pas non plus.

le probléme vient donc de la création du nouveau classeur à priori.
qu'est ce que cela change pour la userform ? y'a t-il une facon de
contourner ce probleme ?

Et aussi, a quand l'été ? :)

merci pour vos réponses et toute l'aide dont j'ai déja pu profiter ici.

Cordialement,
A. DUCHAMP