Msgbox VBA + temporizador

Dergoshine -  
eriiic Mensajes publicados 24581 Fecha de registro   Estado Colaborador Última intervención   -
Hola,

Quisiera que cuando se haga clic en mi botón en mi hoja de Excel, aparezca un cuadro de mensaje que pida al usuario que tenga paciencia y que se cierre después de un tiempo predefinido antes de mostrar un resultado.

Si es posible, me gustaría que el usuario pudiera ver un temporizador en el cuadro de mensaje (por ejemplo, cómo pasan los segundos) y que después del tiempo transcurrido, el cuadro de mensaje se cierre solo para mostrar el resultado.

Gracias de antemano por su ayuda.

3 respuestas

Fallentree Mensajes publicados 2445 Estado Miembro 210
 
no hay que soñar, no tendrás interacción en un msgbox...
hay que abrir una nueva ventana con un temporizador de un segundo para mostrar la hora y una prueba sobre el acumulado...
es simple, pero bueno, no conozco mucho vb. son eventos onclick onload que hay que manejar...
0
pijaku Mensajes publicados 13513 Fecha de registro   Estado Moderador Última intervención   2 772
 
Hola,
¿Es solo para obligar al usuario a esperar, o quieres que se lleve a cabo un procedimiento durante la cuenta regresiva?
--
Atentamente,
Franck P
0
Dergoshine
 
Es solo para hacerle esperar, sin ningún procedimiento durante la espera.
0
pijaku Mensajes publicados 13513 Fecha de registro   Estado Moderador Última intervención   2 772
 
MsgBox temporal:
Fuentes Código:
CreateObject("Wscript.shell").Popup "Mi Texto", 3, "El Título"
3 = 3 segundos.....

Para mostrar una cuenta atrás, ya no hay que usar un MsgBox, sino fabricarla uno mismo gracias a los UserForm. Las fuentes y el código a utilizar:
Dim i As Integer With UserForm1 .Show 0 For i = 10 To 0 Step -1 Application.Wait Now + TimeValue("00:00:01") .Label1 = i .Repaint Next End With

ejemplo
0
Dergoshine
 
Ok, he probado el primer código, la ventana no desaparece después de 3 segundos, de hecho, no desaparece en absoluto, hay que presionar OK para que se cierre…
0
pijaku Mensajes publicados 13513 Fecha de registro   Estado Moderador Última intervención   2 772
 
inténtalo de nuevo... A mí también me pasó eso la primera vez. Este código puede requerir el registro del libro de trabajo...
0
Dergoshine
 
He creado una función en el módulo y es ahí donde puse el código que indicaste, luego tomé mi botón y hice Call + nombre de mi función creada, pero no funciona.
0
eriiic Mensajes publicados 24581 Fecha de registro   Estado Colaborador Última intervención   7 281
 
Buenas noches,

pijaku ha tenido que ausentarse y me pidió que tomara el relevo en tu pregunta.
En mi caso tampoco (2003) su archivo no funciona como se esperaba.

Aquí tienes otra propuesta ampliamente inspirada en el sitio de Jacques Boisgontier:
http://boisgontierjacques.free.fr/pages_site/formulairebases.htm#barreAttente

El tiempo pasa, pero para eso el cuadro de diálogo debe ser no modal.
Lo que implica que el usuario puede usar/modificar el libro durante su visualización.
Aparte de añadir una protección máxima de las hojas antes de mostrar el cuadro de diálogo y quitar estas protecciones después de su eliminación, no veo otras soluciones.
De lo contrario, renunciar a mostrar el tiempo. A menos que alguien sepa cómo hacer que un cuadro de diálogo sea activo... No he encontrado cómo y es tarde ;-)

http://www.cijoint.fr/cjlink.php?file=cj201108/cijqMbBdKe.xls

eric
0