Bonjour.
Par le plus grand des hasards, pour fermer un userform, j'ai mis "End "dans
la proc et cela fonctionne.
Qu'en pensez-vous ? Cela peut-il remplacer .Hide ?
Merci
Donc pour fermer un userform c'est reliable ? Flo riant
"Clément Marcotte" a écrit dans le message de news:urRbU%
Bonjour,
Cela peut-il remplacer .Hide ?
Si c'est pour arrêter toute la macro, sans rien effectuer de ce qui est prévu.
isabelle
bonjour Florian,
pas juste hide mais unload d'après l'aide xl2002,
Remarques
Lorsqu'elle est exécutée, l'instruction End réinitialise toutes les variables au niveau du module et toutes les variables locales statiques dans tous les modules. Pour conserver la valeur de ces variables, utilisez plutôt l'instruction Stop. Vous pourrez ainsi reprendre l'exécution tout en préservant la valeur des variables.
Note L'instruction End met immédiatement fin à l'exécution du code, sans appeler d'événement Unload, QueryUnload, ou Terminate, ou tout autre code Visual Basic. Le code que vous avez écrit dans les événements Unload, QueryUnload, et Terminate des feuilles et des modules de classe n'est pas exécuté. Les objets créés depuis les modules de classe sont détruits, les fichiers ouverts au moyen de l'instruction Open sont fermés et la mémoire occupée par le programme est vidée. Les références d'objet appartenant à d'autres programmes ne sont plus valides.
L'instruction End permet de forcer l'arrêt du programme. Pour qu'un programme Visual Basic se termine normalement, vous devez décharger toutes les feuilles. Votre programme se termine lorsqu'il n'y a plus aucun programme maintenant des références à des objets créés depuis vos modules de classe publics et qu'aucun code n'est exécuté.
isabelle
Donc pour fermer un userform c'est reliable ? Flo riant
"Clément Marcotte" a écrit dans le message de news:urRbU%
Bonjour,
Cela peut-il remplacer .Hide ?
Si c'est pour arrêter toute la macro, sans rien effectuer de ce qui est prévu.
bonjour Florian,
pas juste hide mais unload d'après l'aide xl2002,
Remarques
Lorsqu'elle est exécutée, l'instruction End réinitialise toutes les
variables au niveau du module et toutes les variables locales statiques
dans tous les modules. Pour conserver la valeur de ces variables,
utilisez plutôt l'instruction Stop. Vous pourrez ainsi reprendre
l'exécution tout en préservant la valeur des variables.
Note L'instruction End met immédiatement fin à l'exécution du code,
sans appeler d'événement Unload, QueryUnload, ou Terminate, ou tout
autre code Visual Basic. Le code que vous avez écrit dans les événements
Unload, QueryUnload, et Terminate des feuilles et des modules de classe
n'est pas exécuté. Les objets créés depuis les modules de classe sont
détruits, les fichiers ouverts au moyen de l'instruction Open sont
fermés et la mémoire occupée par le programme est vidée. Les références
d'objet appartenant à d'autres programmes ne sont plus valides.
L'instruction End permet de forcer l'arrêt du programme. Pour qu'un
programme Visual Basic se termine normalement, vous devez décharger
toutes les feuilles. Votre programme se termine lorsqu'il n'y a plus
aucun programme maintenant des références à des objets créés depuis vos
modules de classe publics et qu'aucun code n'est exécuté.
isabelle
Donc pour fermer un userform c'est reliable ?
Flo riant
"Clément Marcotte" <clement.marcotte@sympatico.ca> a écrit dans le message
de news:urRbU%239UEHA.3788@TK2MSFTNGP12.phx.gbl...
Bonjour,
Cela peut-il remplacer .Hide ?
Si c'est pour arrêter toute la macro, sans rien effectuer de ce qui
est prévu.
Lorsqu'elle est exécutée, l'instruction End réinitialise toutes les variables au niveau du module et toutes les variables locales statiques dans tous les modules. Pour conserver la valeur de ces variables, utilisez plutôt l'instruction Stop. Vous pourrez ainsi reprendre l'exécution tout en préservant la valeur des variables.
Note L'instruction End met immédiatement fin à l'exécution du code, sans appeler d'événement Unload, QueryUnload, ou Terminate, ou tout autre code Visual Basic. Le code que vous avez écrit dans les événements Unload, QueryUnload, et Terminate des feuilles et des modules de classe n'est pas exécuté. Les objets créés depuis les modules de classe sont détruits, les fichiers ouverts au moyen de l'instruction Open sont fermés et la mémoire occupée par le programme est vidée. Les références d'objet appartenant à d'autres programmes ne sont plus valides.
L'instruction End permet de forcer l'arrêt du programme. Pour qu'un programme Visual Basic se termine normalement, vous devez décharger toutes les feuilles. Votre programme se termine lorsqu'il n'y a plus aucun programme maintenant des références à des objets créés depuis vos modules de classe publics et qu'aucun code n'est exécuté.
isabelle
Donc pour fermer un userform c'est reliable ? Flo riant
"Clément Marcotte" a écrit dans le message de news:urRbU%
Bonjour,
Cela peut-il remplacer .Hide ?
Si c'est pour arrêter toute la macro, sans rien effectuer de ce qui est prévu.
michdenis
Bonjour Florian,
Hide : masque le formulaire, tous les contrôles conservent leur valeur , il en est de même pour les variables du code du formulaire, le cas échéant. Le formulaire demeure en mémoire vive et pour l'afficher à nouveau : Userform1.Show ...
End : Met fin à la procédure (que cette dernière soit dans un formulaire ou dans toutes autres procédures) : Toutes les lignes de code de la procédure placées après cette commande ne seront jamais exécutées... ce n'est pas le cas avec la commande Hide. De plus, cette commande décharge le formulaire de la mémoire vive ... et adieu l'informations contenues dans les contrôles.
Salutations!
"Florian" a écrit dans le message de news: Bonjour. Par le plus grand des hasards, pour fermer un userform, j'ai mis "End "dans la proc et cela fonctionne. Qu'en pensez-vous ? Cela peut-il remplacer .Hide ? Merci
Private Sub CommandButton1_Click() End End Sub
Bonjour Florian,
Hide : masque le formulaire, tous les contrôles conservent leur valeur , il en est de même pour les variables du code du
formulaire, le cas échéant. Le formulaire demeure en mémoire vive et pour l'afficher à nouveau : Userform1.Show ...
End : Met fin à la procédure (que cette dernière soit dans un formulaire ou dans toutes autres procédures) : Toutes les
lignes de code de la procédure placées après cette commande ne seront jamais exécutées... ce n'est pas le cas avec la
commande Hide. De plus, cette commande décharge le formulaire de la mémoire vive ... et adieu l'informations contenues
dans les contrôles.
Salutations!
"Florian" <Florian@toto.fr> a écrit dans le message de news:Osnxzt9UEHA.3336@TK2MSFTNGP11.phx.gbl...
Bonjour.
Par le plus grand des hasards, pour fermer un userform, j'ai mis "End "dans
la proc et cela fonctionne.
Qu'en pensez-vous ? Cela peut-il remplacer .Hide ?
Merci
Hide : masque le formulaire, tous les contrôles conservent leur valeur , il en est de même pour les variables du code du formulaire, le cas échéant. Le formulaire demeure en mémoire vive et pour l'afficher à nouveau : Userform1.Show ...
End : Met fin à la procédure (que cette dernière soit dans un formulaire ou dans toutes autres procédures) : Toutes les lignes de code de la procédure placées après cette commande ne seront jamais exécutées... ce n'est pas le cas avec la commande Hide. De plus, cette commande décharge le formulaire de la mémoire vive ... et adieu l'informations contenues dans les contrôles.
Salutations!
"Florian" a écrit dans le message de news: Bonjour. Par le plus grand des hasards, pour fermer un userform, j'ai mis "End "dans la proc et cela fonctionne. Qu'en pensez-vous ? Cela peut-il remplacer .Hide ? Merci
Private Sub CommandButton1_Click() End End Sub
Florian
merci beaucoup à tous et bonne soirée Flo riant
"michdenis" a écrit dans le message de news:OuT4OF%
Bonjour Florian,
Hide : masque le formulaire, tous les contrôles conservent leur valeur , il en est de même pour les variables du code du
formulaire, le cas échéant. Le formulaire demeure en mémoire vive et pour l'afficher à nouveau : Userform1.Show ...
End : Met fin à la procédure (que cette dernière soit dans un formulaire ou dans toutes autres procédures) : Toutes les
lignes de code de la procédure placées après cette commande ne seront jamais exécutées... ce n'est pas le cas avec la
commande Hide. De plus, cette commande décharge le formulaire de la mémoire vive ... et adieu l'informations contenues
dans les contrôles.
Salutations!
"Florian" a écrit dans le message de news:
Bonjour. Par le plus grand des hasards, pour fermer un userform, j'ai mis "End "dans
la proc et cela fonctionne. Qu'en pensez-vous ? Cela peut-il remplacer .Hide ? Merci
Private Sub CommandButton1_Click() End End Sub
merci beaucoup à tous et bonne soirée
Flo riant
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:OuT4OF%23UEHA.3540@TK2MSFTNGP11.phx.gbl...
Bonjour Florian,
Hide : masque le formulaire, tous les contrôles conservent leur valeur ,
il en est de même pour les variables du code du
formulaire, le cas échéant. Le formulaire demeure en mémoire vive et pour
l'afficher à nouveau : Userform1.Show ...
End : Met fin à la procédure (que cette dernière soit dans un formulaire
ou dans toutes autres procédures) : Toutes les
lignes de code de la procédure placées après cette commande ne seront
jamais exécutées... ce n'est pas le cas avec la
commande Hide. De plus, cette commande décharge le formulaire de la
mémoire vive ... et adieu l'informations contenues
dans les contrôles.
Salutations!
"Florian" <Florian@toto.fr> a écrit dans le message de
news:Osnxzt9UEHA.3336@TK2MSFTNGP11.phx.gbl...
Bonjour.
Par le plus grand des hasards, pour fermer un userform, j'ai mis "End
"dans
la proc et cela fonctionne.
Qu'en pensez-vous ? Cela peut-il remplacer .Hide ?
Merci