Bonjour Michel,
L'idée de cacher le UserForm est bonne, mais il ne faut surtout pas le
décharger (Unload) sous peine de perdre les données entrées par
l'utilisateur.
Me.Hide
Ton traitement de mise à jour
Me.Show
Le défaut de cette approche est que si le traitement n'est pas extrêmement
court (fraction de seconde), l'utilisateur va être désorienté par la
dispa-
rition temporaire du UserForm à l'écran.
Emcy, peux-tu en dire un peu plus sur le raffraichissement de tes Labels.
Est-il nécessaire de raffraichir tous les labels à la fois, ou serait-il
possible
de le faire par tranche : chaque fois qu'un Contrôle est modifié et pas
seulement
un bouton, n'est-il pas possible de mettre à jour une série plus réduite
de La-
bels directement concernés ?
Par ailleurs, il ne faut JAMAIS utiliser le nom de l'Userform pour le
masquer
(Hide), le décharger (Unload) ou l'afficher (Show), alors qu'il est déjà
chargé
(Load). La raison est que si on renomme le UserForm, il faut adapter le
code,
tandis qu'avec "Me", cela continue à fonctionner.
La seule exception est quand 2 UserForms (ou +)sont chargés en même temps
et que tu veux en masquer un et en afficher un autre
Me.Hide
Userform2.Show
C'est le même principe que pour ActiveWorkbook ou ActiveSheet, qui doivent
toujours être préférés à Workbooks("Toto") ou Sheets("Feuil1") chaque fois
que c'est possible.Salut,
si tu faisait un :
userform1.hide
unload userform1
load userform1
userform1.show ?
@+
Michel.
"Emcy" wrote in message
news:085701c3a506$e52463e0$
Salut,
J'ai un UserForm avec pleins de Label (+ de 600). A
chaque fois que j'appuye sur un bouton, je rafraichis
tous les "caption" et "backcolor" de mes Lablels.
Je voudrais savoir comment faire pour bloquer le
rafraichissement de l'useform pour ne pas qu'on ne vois
les Labels se mettrent à jour les uns après les autres.
Remarque : suite à un conseille de MP, j'ai ajouté la
commande DoEvents mais ça ne suiffit pas.
La Commande Application.screenUpdating = False ne bloque
pas le rafraichissement de l'userform.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Bonjour Michel,
L'idée de cacher le UserForm est bonne, mais il ne faut surtout pas le
décharger (Unload) sous peine de perdre les données entrées par
l'utilisateur.
Me.Hide
Ton traitement de mise à jour
Me.Show
Le défaut de cette approche est que si le traitement n'est pas extrêmement
court (fraction de seconde), l'utilisateur va être désorienté par la
dispa-
rition temporaire du UserForm à l'écran.
Emcy, peux-tu en dire un peu plus sur le raffraichissement de tes Labels.
Est-il nécessaire de raffraichir tous les labels à la fois, ou serait-il
possible
de le faire par tranche : chaque fois qu'un Contrôle est modifié et pas
seulement
un bouton, n'est-il pas possible de mettre à jour une série plus réduite
de La-
bels directement concernés ?
Par ailleurs, il ne faut JAMAIS utiliser le nom de l'Userform pour le
masquer
(Hide), le décharger (Unload) ou l'afficher (Show), alors qu'il est déjà
chargé
(Load). La raison est que si on renomme le UserForm, il faut adapter le
code,
tandis qu'avec "Me", cela continue à fonctionner.
La seule exception est quand 2 UserForms (ou +)sont chargés en même temps
et que tu veux en masquer un et en afficher un autre
Me.Hide
Userform2.Show
C'est le même principe que pour ActiveWorkbook ou ActiveSheet, qui doivent
toujours être préférés à Workbooks("Toto") ou Sheets("Feuil1") chaque fois
que c'est possible.
Salut,
si tu faisait un :
userform1.hide
unload userform1
load userform1
userform1.show ?
@+
Michel.
"Emcy" <anonymous@discussions.microsoft.com> wrote in message
news:085701c3a506$e52463e0$a301280a@phx.gbl...
Salut,
J'ai un UserForm avec pleins de Label (+ de 600). A
chaque fois que j'appuye sur un bouton, je rafraichis
tous les "caption" et "backcolor" de mes Lablels.
Je voudrais savoir comment faire pour bloquer le
rafraichissement de l'useform pour ne pas qu'on ne vois
les Labels se mettrent à jour les uns après les autres.
Remarque : suite à un conseille de MP, j'ai ajouté la
commande DoEvents mais ça ne suiffit pas.
La Commande Application.screenUpdating = False ne bloque
pas le rafraichissement de l'userform.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Bonjour Michel,
L'idée de cacher le UserForm est bonne, mais il ne faut surtout pas le
décharger (Unload) sous peine de perdre les données entrées par
l'utilisateur.
Me.Hide
Ton traitement de mise à jour
Me.Show
Le défaut de cette approche est que si le traitement n'est pas extrêmement
court (fraction de seconde), l'utilisateur va être désorienté par la
dispa-
rition temporaire du UserForm à l'écran.
Emcy, peux-tu en dire un peu plus sur le raffraichissement de tes Labels.
Est-il nécessaire de raffraichir tous les labels à la fois, ou serait-il
possible
de le faire par tranche : chaque fois qu'un Contrôle est modifié et pas
seulement
un bouton, n'est-il pas possible de mettre à jour une série plus réduite
de La-
bels directement concernés ?
Par ailleurs, il ne faut JAMAIS utiliser le nom de l'Userform pour le
masquer
(Hide), le décharger (Unload) ou l'afficher (Show), alors qu'il est déjà
chargé
(Load). La raison est que si on renomme le UserForm, il faut adapter le
code,
tandis qu'avec "Me", cela continue à fonctionner.
La seule exception est quand 2 UserForms (ou +)sont chargés en même temps
et que tu veux en masquer un et en afficher un autre
Me.Hide
Userform2.Show
C'est le même principe que pour ActiveWorkbook ou ActiveSheet, qui doivent
toujours être préférés à Workbooks("Toto") ou Sheets("Feuil1") chaque fois
que c'est possible.Salut,
si tu faisait un :
userform1.hide
unload userform1
load userform1
userform1.show ?
@+
Michel.
"Emcy" wrote in message
news:085701c3a506$e52463e0$
Salut,
J'ai un UserForm avec pleins de Label (+ de 600). A
chaque fois que j'appuye sur un bouton, je rafraichis
tous les "caption" et "backcolor" de mes Lablels.
Je voudrais savoir comment faire pour bloquer le
rafraichissement de l'useform pour ne pas qu'on ne vois
les Labels se mettrent à jour les uns après les autres.
Remarque : suite à un conseille de MP, j'ai ajouté la
commande DoEvents mais ça ne suiffit pas.
La Commande Application.screenUpdating = False ne bloque
pas le rafraichissement de l'userform.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Salut,
si tu faisait un :
userform1.hide
unload userform1
load userform1
userform1.show ?
@+
Michel.
"Emcy" wrote in message
news:085701c3a506$e52463e0$
Salut,
J'ai un UserForm avec pleins de Label (+ de 600). A
chaque fois que j'appuye sur un bouton, je rafraichis
tous les "caption" et "backcolor" de mes Lablels.
Je voudrais savoir comment faire pour bloquer le
rafraichissement de l'useform pour ne pas qu'on ne vois
les Labels se mettrent à jour les uns après les autres.
Remarque : suite à un conseille de MP, j'ai ajouté la
commande DoEvents mais ça ne suiffit pas.
La Commande Application.screenUpdating = False ne bloque
pas le rafraichissement de l'userform.
Salut,
si tu faisait un :
userform1.hide
unload userform1
load userform1
userform1.show ?
@+
Michel.
"Emcy" <anonymous@discussions.microsoft.com> wrote in message
news:085701c3a506$e52463e0$a301280a@phx.gbl...
Salut,
J'ai un UserForm avec pleins de Label (+ de 600). A
chaque fois que j'appuye sur un bouton, je rafraichis
tous les "caption" et "backcolor" de mes Lablels.
Je voudrais savoir comment faire pour bloquer le
rafraichissement de l'useform pour ne pas qu'on ne vois
les Labels se mettrent à jour les uns après les autres.
Remarque : suite à un conseille de MP, j'ai ajouté la
commande DoEvents mais ça ne suiffit pas.
La Commande Application.screenUpdating = False ne bloque
pas le rafraichissement de l'userform.
Salut,
si tu faisait un :
userform1.hide
unload userform1
load userform1
userform1.show ?
@+
Michel.
"Emcy" wrote in message
news:085701c3a506$e52463e0$
Salut,
J'ai un UserForm avec pleins de Label (+ de 600). A
chaque fois que j'appuye sur un bouton, je rafraichis
tous les "caption" et "backcolor" de mes Lablels.
Je voudrais savoir comment faire pour bloquer le
rafraichissement de l'useform pour ne pas qu'on ne vois
les Labels se mettrent à jour les uns après les autres.
Remarque : suite à un conseille de MP, j'ai ajouté la
commande DoEvents mais ça ne suiffit pas.
La Commande Application.screenUpdating = False ne bloque
pas le rafraichissement de l'userform.
-----Message d'origine-----
Salut,
A moins de passer par des variables qui prennent en
compte ce que
l'utilisateur entre comme donnees (c'est ce que je
fais ...)
Pour la disparition du userform, ce n'est pas un
probleme tu peux toujours
faire appel a un autre userform ou une progrssebarre
pour informer
l'utilisateur que la mise a jour prend un petit instant,
ce que je fais
aussi mais bon je ne vais non plus re-ecrire la
macro.... tout en ne sachant
pas ce qu'il y a derrire son userform.
@+
Michel.
"Michel Gaboly" wrote in message
news:Bonjour Michel,
L'idée de cacher le UserForm est bonne, mais il ne
faut surtout pas le
décharger (Unload) sous peine de perdre les données
entrées par
l'utilisateur.
Me.Hide
Ton traitement de mise à jour
Me.Show
Le défaut de cette approche est que si le traitement
n'est pas extrêmement
court (fraction de seconde), l'utilisateur va être
désorienté par la
dispa-rition temporaire du UserForm à l'écran.
Emcy, peux-tu en dire un peu plus sur le
raffraichissement de tes Labels.
Est-il nécessaire de raffraichir tous les labels à la
fois, ou serait-il
possiblede le faire par tranche : chaque fois qu'un Contrôle
est modifié et pas
seulementun bouton, n'est-il pas possible de mettre à jour une
série plus réduite
de La-bels directement concernés ?
Par ailleurs, il ne faut JAMAIS utiliser le nom de
l'Userform pour le
masquer(Hide), le décharger (Unload) ou l'afficher (Show),
alors qu'il est déjà
chargé(Load). La raison est que si on renomme le UserForm,
il faut adapter le
code,tandis qu'avec "Me", cela continue à fonctionner.
La seule exception est quand 2 UserForms (ou +)sont
chargés en même temps
et que tu veux en masquer un et en afficher un autre
Me.Hide
Userform2.Show
C'est le même principe que pour ActiveWorkbook ou
ActiveSheet, qui doivent
toujours être préférés à Workbooks("Toto") ou Sheets
("Feuil1") chaque fois
que c'est possible.Salut,
si tu faisait un :
userform1.hide
unload userform1
load userform1
userform1.show ?
@+
Michel.
"Emcy" wrote
in message
news:085701c3a506$e52463e0$
Salut,
J'ai un UserForm avec pleins de Label (+ de 600). A
chaque fois que j'appuye sur un bouton, je rafraichis
tous les "caption" et "backcolor" de mes Lablels.
Je voudrais savoir comment faire pour bloquer le
rafraichissement de l'useform pour ne pas qu'on ne
vois
les Labels se mettrent à jour les uns après les
autres.
Remarque : suite à un conseille de MP, j'ai ajouté la
commande DoEvents mais ça ne suiffit pas.
La Commande Application.screenUpdating = False ne
bloque
pas le rafraichissement de l'userform.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
-----Message d'origine-----
Salut,
A moins de passer par des variables qui prennent en
compte ce que
l'utilisateur entre comme donnees (c'est ce que je
fais ...)
Pour la disparition du userform, ce n'est pas un
probleme tu peux toujours
faire appel a un autre userform ou une progrssebarre
pour informer
l'utilisateur que la mise a jour prend un petit instant,
ce que je fais
aussi mais bon je ne vais non plus re-ecrire la
macro.... tout en ne sachant
pas ce qu'il y a derrire son userform.
@+
Michel.
"Michel Gaboly" <michel@Suppgaboly.com> wrote in message
news:3FAB6068.4AA59823@Suppgaboly.com...
Bonjour Michel,
L'idée de cacher le UserForm est bonne, mais il ne
faut surtout pas le
décharger (Unload) sous peine de perdre les données
entrées par
l'utilisateur.
Me.Hide
Ton traitement de mise à jour
Me.Show
Le défaut de cette approche est que si le traitement
n'est pas extrêmement
court (fraction de seconde), l'utilisateur va être
désorienté par la
dispa-
rition temporaire du UserForm à l'écran.
Emcy, peux-tu en dire un peu plus sur le
raffraichissement de tes Labels.
Est-il nécessaire de raffraichir tous les labels à la
fois, ou serait-il
possible
de le faire par tranche : chaque fois qu'un Contrôle
est modifié et pas
seulement
un bouton, n'est-il pas possible de mettre à jour une
série plus réduite
de La-
bels directement concernés ?
Par ailleurs, il ne faut JAMAIS utiliser le nom de
l'Userform pour le
masquer
(Hide), le décharger (Unload) ou l'afficher (Show),
alors qu'il est déjà
chargé
(Load). La raison est que si on renomme le UserForm,
il faut adapter le
code,
tandis qu'avec "Me", cela continue à fonctionner.
La seule exception est quand 2 UserForms (ou +)sont
chargés en même temps
et que tu veux en masquer un et en afficher un autre
Me.Hide
Userform2.Show
C'est le même principe que pour ActiveWorkbook ou
ActiveSheet, qui doivent
toujours être préférés à Workbooks("Toto") ou Sheets
("Feuil1") chaque fois
que c'est possible.
Salut,
si tu faisait un :
userform1.hide
unload userform1
load userform1
userform1.show ?
@+
Michel.
"Emcy" <anonymous@discussions.microsoft.com> wrote
in message
news:085701c3a506$e52463e0$a301280a@phx.gbl...
Salut,
J'ai un UserForm avec pleins de Label (+ de 600). A
chaque fois que j'appuye sur un bouton, je rafraichis
tous les "caption" et "backcolor" de mes Lablels.
Je voudrais savoir comment faire pour bloquer le
rafraichissement de l'useform pour ne pas qu'on ne
vois
les Labels se mettrent à jour les uns après les
autres.
Remarque : suite à un conseille de MP, j'ai ajouté la
commande DoEvents mais ça ne suiffit pas.
La Commande Application.screenUpdating = False ne
bloque
pas le rafraichissement de l'userform.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
-----Message d'origine-----
Salut,
A moins de passer par des variables qui prennent en
compte ce que
l'utilisateur entre comme donnees (c'est ce que je
fais ...)
Pour la disparition du userform, ce n'est pas un
probleme tu peux toujours
faire appel a un autre userform ou une progrssebarre
pour informer
l'utilisateur que la mise a jour prend un petit instant,
ce que je fais
aussi mais bon je ne vais non plus re-ecrire la
macro.... tout en ne sachant
pas ce qu'il y a derrire son userform.
@+
Michel.
"Michel Gaboly" wrote in message
news:Bonjour Michel,
L'idée de cacher le UserForm est bonne, mais il ne
faut surtout pas le
décharger (Unload) sous peine de perdre les données
entrées par
l'utilisateur.
Me.Hide
Ton traitement de mise à jour
Me.Show
Le défaut de cette approche est que si le traitement
n'est pas extrêmement
court (fraction de seconde), l'utilisateur va être
désorienté par la
dispa-rition temporaire du UserForm à l'écran.
Emcy, peux-tu en dire un peu plus sur le
raffraichissement de tes Labels.
Est-il nécessaire de raffraichir tous les labels à la
fois, ou serait-il
possiblede le faire par tranche : chaque fois qu'un Contrôle
est modifié et pas
seulementun bouton, n'est-il pas possible de mettre à jour une
série plus réduite
de La-bels directement concernés ?
Par ailleurs, il ne faut JAMAIS utiliser le nom de
l'Userform pour le
masquer(Hide), le décharger (Unload) ou l'afficher (Show),
alors qu'il est déjà
chargé(Load). La raison est que si on renomme le UserForm,
il faut adapter le
code,tandis qu'avec "Me", cela continue à fonctionner.
La seule exception est quand 2 UserForms (ou +)sont
chargés en même temps
et que tu veux en masquer un et en afficher un autre
Me.Hide
Userform2.Show
C'est le même principe que pour ActiveWorkbook ou
ActiveSheet, qui doivent
toujours être préférés à Workbooks("Toto") ou Sheets
("Feuil1") chaque fois
que c'est possible.Salut,
si tu faisait un :
userform1.hide
unload userform1
load userform1
userform1.show ?
@+
Michel.
"Emcy" wrote
in message
news:085701c3a506$e52463e0$
Salut,
J'ai un UserForm avec pleins de Label (+ de 600). A
chaque fois que j'appuye sur un bouton, je rafraichis
tous les "caption" et "backcolor" de mes Lablels.
Je voudrais savoir comment faire pour bloquer le
rafraichissement de l'useform pour ne pas qu'on ne
vois
les Labels se mettrent à jour les uns après les
autres.
Remarque : suite à un conseille de MP, j'ai ajouté la
commande DoEvents mais ça ne suiffit pas.
La Commande Application.screenUpdating = False ne
bloque
pas le rafraichissement de l'userform.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
Salut,
A moins de passer par des variables qui prennent en compte ce que
l'utilisateur entre comme donnees (c'est ce que je fais ...)
Pour la disparition du userform, ce n'est pas un probleme tu peux toujours
faire appel a un autre userform ou une progrssebarre pour informer
l'utilisateur que la mise a jour prend un petit instant, ce que je fais
aussi mais bon je ne vais non plus re-ecrire la macro.... tout en ne sachant
pas ce qu'il y a derrire son userform.
@+
Michel.
"Michel Gaboly" wrote in message
news:Bonjour Michel,
L'idée de cacher le UserForm est bonne, mais il ne faut surtout pas le
décharger (Unload) sous peine de perdre les données entrées par
l'utilisateur.
Me.Hide
Ton traitement de mise à jour
Me.Show
Le défaut de cette approche est que si le traitement n'est pas extrêmement
court (fraction de seconde), l'utilisateur va être désorienté par la
dispa-rition temporaire du UserForm à l'écran.
Emcy, peux-tu en dire un peu plus sur le raffraichissement de tes Labels.
Est-il nécessaire de raffraichir tous les labels à la fois, ou serait-il
possiblede le faire par tranche : chaque fois qu'un Contrôle est modifié et pas
seulementun bouton, n'est-il pas possible de mettre à jour une série plus réduite
de La-bels directement concernés ?
Par ailleurs, il ne faut JAMAIS utiliser le nom de l'Userform pour le
masquer(Hide), le décharger (Unload) ou l'afficher (Show), alors qu'il est déjà
chargé(Load). La raison est que si on renomme le UserForm, il faut adapter le
code,tandis qu'avec "Me", cela continue à fonctionner.
La seule exception est quand 2 UserForms (ou +)sont chargés en même temps
et que tu veux en masquer un et en afficher un autre
Me.Hide
Userform2.Show
C'est le même principe que pour ActiveWorkbook ou ActiveSheet, qui doivent
toujours être préférés à Workbooks("Toto") ou Sheets("Feuil1") chaque fois
que c'est possible.Salut,
si tu faisait un :
userform1.hide
unload userform1
load userform1
userform1.show ?
@+
Michel.
"Emcy" wrote in message
news:085701c3a506$e52463e0$
Salut,
J'ai un UserForm avec pleins de Label (+ de 600). A
chaque fois que j'appuye sur un bouton, je rafraichis
tous les "caption" et "backcolor" de mes Lablels.
Je voudrais savoir comment faire pour bloquer le
rafraichissement de l'useform pour ne pas qu'on ne vois
les Labels se mettrent à jour les uns après les autres.
Remarque : suite à un conseille de MP, j'ai ajouté la
commande DoEvents mais ça ne suiffit pas.
La Commande Application.screenUpdating = False ne bloque
pas le rafraichissement de l'userform.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Salut,
A moins de passer par des variables qui prennent en compte ce que
l'utilisateur entre comme donnees (c'est ce que je fais ...)
Pour la disparition du userform, ce n'est pas un probleme tu peux toujours
faire appel a un autre userform ou une progrssebarre pour informer
l'utilisateur que la mise a jour prend un petit instant, ce que je fais
aussi mais bon je ne vais non plus re-ecrire la macro.... tout en ne sachant
pas ce qu'il y a derrire son userform.
@+
Michel.
"Michel Gaboly" <michel@Suppgaboly.com> wrote in message
news:3FAB6068.4AA59823@Suppgaboly.com...
Bonjour Michel,
L'idée de cacher le UserForm est bonne, mais il ne faut surtout pas le
décharger (Unload) sous peine de perdre les données entrées par
l'utilisateur.
Me.Hide
Ton traitement de mise à jour
Me.Show
Le défaut de cette approche est que si le traitement n'est pas extrêmement
court (fraction de seconde), l'utilisateur va être désorienté par la
dispa-
rition temporaire du UserForm à l'écran.
Emcy, peux-tu en dire un peu plus sur le raffraichissement de tes Labels.
Est-il nécessaire de raffraichir tous les labels à la fois, ou serait-il
possible
de le faire par tranche : chaque fois qu'un Contrôle est modifié et pas
seulement
un bouton, n'est-il pas possible de mettre à jour une série plus réduite
de La-
bels directement concernés ?
Par ailleurs, il ne faut JAMAIS utiliser le nom de l'Userform pour le
masquer
(Hide), le décharger (Unload) ou l'afficher (Show), alors qu'il est déjà
chargé
(Load). La raison est que si on renomme le UserForm, il faut adapter le
code,
tandis qu'avec "Me", cela continue à fonctionner.
La seule exception est quand 2 UserForms (ou +)sont chargés en même temps
et que tu veux en masquer un et en afficher un autre
Me.Hide
Userform2.Show
C'est le même principe que pour ActiveWorkbook ou ActiveSheet, qui doivent
toujours être préférés à Workbooks("Toto") ou Sheets("Feuil1") chaque fois
que c'est possible.
Salut,
si tu faisait un :
userform1.hide
unload userform1
load userform1
userform1.show ?
@+
Michel.
"Emcy" <anonymous@discussions.microsoft.com> wrote in message
news:085701c3a506$e52463e0$a301280a@phx.gbl...
Salut,
J'ai un UserForm avec pleins de Label (+ de 600). A
chaque fois que j'appuye sur un bouton, je rafraichis
tous les "caption" et "backcolor" de mes Lablels.
Je voudrais savoir comment faire pour bloquer le
rafraichissement de l'useform pour ne pas qu'on ne vois
les Labels se mettrent à jour les uns après les autres.
Remarque : suite à un conseille de MP, j'ai ajouté la
commande DoEvents mais ça ne suiffit pas.
La Commande Application.screenUpdating = False ne bloque
pas le rafraichissement de l'userform.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Salut,
A moins de passer par des variables qui prennent en compte ce que
l'utilisateur entre comme donnees (c'est ce que je fais ...)
Pour la disparition du userform, ce n'est pas un probleme tu peux toujours
faire appel a un autre userform ou une progrssebarre pour informer
l'utilisateur que la mise a jour prend un petit instant, ce que je fais
aussi mais bon je ne vais non plus re-ecrire la macro.... tout en ne sachant
pas ce qu'il y a derrire son userform.
@+
Michel.
"Michel Gaboly" wrote in message
news:Bonjour Michel,
L'idée de cacher le UserForm est bonne, mais il ne faut surtout pas le
décharger (Unload) sous peine de perdre les données entrées par
l'utilisateur.
Me.Hide
Ton traitement de mise à jour
Me.Show
Le défaut de cette approche est que si le traitement n'est pas extrêmement
court (fraction de seconde), l'utilisateur va être désorienté par la
dispa-rition temporaire du UserForm à l'écran.
Emcy, peux-tu en dire un peu plus sur le raffraichissement de tes Labels.
Est-il nécessaire de raffraichir tous les labels à la fois, ou serait-il
possiblede le faire par tranche : chaque fois qu'un Contrôle est modifié et pas
seulementun bouton, n'est-il pas possible de mettre à jour une série plus réduite
de La-bels directement concernés ?
Par ailleurs, il ne faut JAMAIS utiliser le nom de l'Userform pour le
masquer(Hide), le décharger (Unload) ou l'afficher (Show), alors qu'il est déjà
chargé(Load). La raison est que si on renomme le UserForm, il faut adapter le
code,tandis qu'avec "Me", cela continue à fonctionner.
La seule exception est quand 2 UserForms (ou +)sont chargés en même temps
et que tu veux en masquer un et en afficher un autre
Me.Hide
Userform2.Show
C'est le même principe que pour ActiveWorkbook ou ActiveSheet, qui doivent
toujours être préférés à Workbooks("Toto") ou Sheets("Feuil1") chaque fois
que c'est possible.Salut,
si tu faisait un :
userform1.hide
unload userform1
load userform1
userform1.show ?
@+
Michel.
"Emcy" wrote in message
news:085701c3a506$e52463e0$
Salut,
J'ai un UserForm avec pleins de Label (+ de 600). A
chaque fois que j'appuye sur un bouton, je rafraichis
tous les "caption" et "backcolor" de mes Lablels.
Je voudrais savoir comment faire pour bloquer le
rafraichissement de l'useform pour ne pas qu'on ne vois
les Labels se mettrent à jour les uns après les autres.
Remarque : suite à un conseille de MP, j'ai ajouté la
commande DoEvents mais ça ne suiffit pas.
La Commande Application.screenUpdating = False ne bloque
pas le rafraichissement de l'userform.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Re,
Quel est l'intérêt de ces variables ? Elles paraissent redondantes,
puisque
l'information est déjà disponible grâce aux contrôles du UserForm.
A priori, elles ont pour effet principal d'alourdir inutilement le code,
surtout dans le cas d'Emcy ou le nombre de contrôles est très important.Salut,
A moins de passer par des variables qui prennent en compte ce que
l'utilisateur entre comme donnees (c'est ce que je fais ...)
Pour la disparition du userform, ce n'est pas un probleme tu peux
toujours
faire appel a un autre userform ou une progrssebarre pour informer
l'utilisateur que la mise a jour prend un petit instant, ce que je fais
aussi mais bon je ne vais non plus re-ecrire la macro.... tout en ne
sachant
pas ce qu'il y a derrire son userform.
@+
Michel.
"Michel Gaboly" wrote in message
news:Bonjour Michel,
L'idée de cacher le UserForm est bonne, mais il ne faut surtout pas le
décharger (Unload) sous peine de perdre les données entrées par
l'utilisateur.
Me.Hide
Ton traitement de mise à jour
Me.Show
Le défaut de cette approche est que si le traitement n'est pas
extrêmement
court (fraction de seconde), l'utilisateur va être désorienté par la
dispa-rition temporaire du UserForm à l'écran.
Emcy, peux-tu en dire un peu plus sur le raffraichissement de tes
Labels.
Est-il nécessaire de raffraichir tous les labels à la fois, ou
serait-il
possiblede le faire par tranche : chaque fois qu'un Contrôle est modifié et
pas
seulementun bouton, n'est-il pas possible de mettre à jour une série plus
réduite
de La-bels directement concernés ?
Par ailleurs, il ne faut JAMAIS utiliser le nom de l'Userform pour le
masquer(Hide), le décharger (Unload) ou l'afficher (Show), alors qu'il est
déjà
chargé(Load). La raison est que si on renomme le UserForm, il faut adapter
le
code,tandis qu'avec "Me", cela continue à fonctionner.
La seule exception est quand 2 UserForms (ou +)sont chargés en même
temps
et que tu veux en masquer un et en afficher un autre
Me.Hide
Userform2.Show
C'est le même principe que pour ActiveWorkbook ou ActiveSheet, qui
doivent
toujours être préférés à Workbooks("Toto") ou Sheets("Feuil1") chaque
fois
que c'est possible.Salut,
si tu faisait un :
userform1.hide
unload userform1
load userform1
userform1.show ?
@+
Michel.
"Emcy" wrote in message
news:085701c3a506$e52463e0$
Salut,
J'ai un UserForm avec pleins de Label (+ de 600). A
chaque fois que j'appuye sur un bouton, je rafraichis
tous les "caption" et "backcolor" de mes Lablels.
Je voudrais savoir comment faire pour bloquer le
rafraichissement de l'useform pour ne pas qu'on ne vois
les Labels se mettrent à jour les uns après les autres.
Remarque : suite à un conseille de MP, j'ai ajouté la
commande DoEvents mais ça ne suiffit pas.
La Commande Application.screenUpdating = False ne bloque
pas le rafraichissement de l'userform.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Re,
Quel est l'intérêt de ces variables ? Elles paraissent redondantes,
puisque
l'information est déjà disponible grâce aux contrôles du UserForm.
A priori, elles ont pour effet principal d'alourdir inutilement le code,
surtout dans le cas d'Emcy ou le nombre de contrôles est très important.
Salut,
A moins de passer par des variables qui prennent en compte ce que
l'utilisateur entre comme donnees (c'est ce que je fais ...)
Pour la disparition du userform, ce n'est pas un probleme tu peux
toujours
faire appel a un autre userform ou une progrssebarre pour informer
l'utilisateur que la mise a jour prend un petit instant, ce que je fais
aussi mais bon je ne vais non plus re-ecrire la macro.... tout en ne
sachant
pas ce qu'il y a derrire son userform.
@+
Michel.
"Michel Gaboly" <michel@Suppgaboly.com> wrote in message
news:3FAB6068.4AA59823@Suppgaboly.com...
Bonjour Michel,
L'idée de cacher le UserForm est bonne, mais il ne faut surtout pas le
décharger (Unload) sous peine de perdre les données entrées par
l'utilisateur.
Me.Hide
Ton traitement de mise à jour
Me.Show
Le défaut de cette approche est que si le traitement n'est pas
extrêmement
court (fraction de seconde), l'utilisateur va être désorienté par la
dispa-
rition temporaire du UserForm à l'écran.
Emcy, peux-tu en dire un peu plus sur le raffraichissement de tes
Labels.
Est-il nécessaire de raffraichir tous les labels à la fois, ou
serait-il
possible
de le faire par tranche : chaque fois qu'un Contrôle est modifié et
pas
seulement
un bouton, n'est-il pas possible de mettre à jour une série plus
réduite
de La-
bels directement concernés ?
Par ailleurs, il ne faut JAMAIS utiliser le nom de l'Userform pour le
masquer
(Hide), le décharger (Unload) ou l'afficher (Show), alors qu'il est
déjà
chargé
(Load). La raison est que si on renomme le UserForm, il faut adapter
le
code,
tandis qu'avec "Me", cela continue à fonctionner.
La seule exception est quand 2 UserForms (ou +)sont chargés en même
temps
et que tu veux en masquer un et en afficher un autre
Me.Hide
Userform2.Show
C'est le même principe que pour ActiveWorkbook ou ActiveSheet, qui
doivent
toujours être préférés à Workbooks("Toto") ou Sheets("Feuil1") chaque
fois
que c'est possible.
Salut,
si tu faisait un :
userform1.hide
unload userform1
load userform1
userform1.show ?
@+
Michel.
"Emcy" <anonymous@discussions.microsoft.com> wrote in message
news:085701c3a506$e52463e0$a301280a@phx.gbl...
Salut,
J'ai un UserForm avec pleins de Label (+ de 600). A
chaque fois que j'appuye sur un bouton, je rafraichis
tous les "caption" et "backcolor" de mes Lablels.
Je voudrais savoir comment faire pour bloquer le
rafraichissement de l'useform pour ne pas qu'on ne vois
les Labels se mettrent à jour les uns après les autres.
Remarque : suite à un conseille de MP, j'ai ajouté la
commande DoEvents mais ça ne suiffit pas.
La Commande Application.screenUpdating = False ne bloque
pas le rafraichissement de l'userform.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Re,
Quel est l'intérêt de ces variables ? Elles paraissent redondantes,
puisque
l'information est déjà disponible grâce aux contrôles du UserForm.
A priori, elles ont pour effet principal d'alourdir inutilement le code,
surtout dans le cas d'Emcy ou le nombre de contrôles est très important.Salut,
A moins de passer par des variables qui prennent en compte ce que
l'utilisateur entre comme donnees (c'est ce que je fais ...)
Pour la disparition du userform, ce n'est pas un probleme tu peux
toujours
faire appel a un autre userform ou une progrssebarre pour informer
l'utilisateur que la mise a jour prend un petit instant, ce que je fais
aussi mais bon je ne vais non plus re-ecrire la macro.... tout en ne
sachant
pas ce qu'il y a derrire son userform.
@+
Michel.
"Michel Gaboly" wrote in message
news:Bonjour Michel,
L'idée de cacher le UserForm est bonne, mais il ne faut surtout pas le
décharger (Unload) sous peine de perdre les données entrées par
l'utilisateur.
Me.Hide
Ton traitement de mise à jour
Me.Show
Le défaut de cette approche est que si le traitement n'est pas
extrêmement
court (fraction de seconde), l'utilisateur va être désorienté par la
dispa-rition temporaire du UserForm à l'écran.
Emcy, peux-tu en dire un peu plus sur le raffraichissement de tes
Labels.
Est-il nécessaire de raffraichir tous les labels à la fois, ou
serait-il
possiblede le faire par tranche : chaque fois qu'un Contrôle est modifié et
pas
seulementun bouton, n'est-il pas possible de mettre à jour une série plus
réduite
de La-bels directement concernés ?
Par ailleurs, il ne faut JAMAIS utiliser le nom de l'Userform pour le
masquer(Hide), le décharger (Unload) ou l'afficher (Show), alors qu'il est
déjà
chargé(Load). La raison est que si on renomme le UserForm, il faut adapter
le
code,tandis qu'avec "Me", cela continue à fonctionner.
La seule exception est quand 2 UserForms (ou +)sont chargés en même
temps
et que tu veux en masquer un et en afficher un autre
Me.Hide
Userform2.Show
C'est le même principe que pour ActiveWorkbook ou ActiveSheet, qui
doivent
toujours être préférés à Workbooks("Toto") ou Sheets("Feuil1") chaque
fois
que c'est possible.Salut,
si tu faisait un :
userform1.hide
unload userform1
load userform1
userform1.show ?
@+
Michel.
"Emcy" wrote in message
news:085701c3a506$e52463e0$
Salut,
J'ai un UserForm avec pleins de Label (+ de 600). A
chaque fois que j'appuye sur un bouton, je rafraichis
tous les "caption" et "backcolor" de mes Lablels.
Je voudrais savoir comment faire pour bloquer le
rafraichissement de l'useform pour ne pas qu'on ne vois
les Labels se mettrent à jour les uns après les autres.
Remarque : suite à un conseille de MP, j'ai ajouté la
commande DoEvents mais ça ne suiffit pas.
La Commande Application.screenUpdating = False ne bloque
pas le rafraichissement de l'userform.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
--
Cordialement,
Michel Gaboly
http://www.gaboly.com