Ciao scossa,
il motivo per cui simo mette la userform all'interno della macro che si attiva N secondi dopo e' che questa e' la condizione in cui lui si trovera': Excel in background, che saltuariamente vorra' inviare segnalazioni all'utente, che nel frattempo lavora presumibilmente in altri ambienti. Ma credo che questa sia una invariante, rispetto alle prestazioni richieste.
Ho modificato il tuo file per attivare quindi la userform 5 secondi dopo aver premuto il pulsante, per consentire all'utente di simulare il passaggio ad altra applicazione lasciando Excel in background.
Ho inoltre aggiunto un secondo foglio con un secondo metodo, basato su WScript.Popup.
Su questo file ho fatto le seguenti prove con i seguenti risultati
A) Prove con Pulsante2 (in Foglio1; metodo "scossa")
1) Modalita' di prova: premo Pulsante2, dalla barra delle applicazioni seleziono Firefox (che e' gia' aperto) e attendo 10 secondi
-dopo 5 secondi Excel e la sua form compaiono in primo piano, ma le applicazioni non sono attive (non ricevono l'input da tastiera)
-ripetuto piu' volte, stesso comportamento
Stesso comportamento se, dopo aver premuto il pulsante, si attivano Word, I.E., Thunderbird
2) Modalita' di prova: premo il pulsante2, minimizzo Excel, seleziono Firefox
-dopo 5 secondi la sola form compare in primo piano, e Firefox rimane attivo (es hyperlink visualizzati al passaggio del mouse)
-se click su hyperlink la form rimane in primo piano mentre firefox visualizza le nuove pagine; se digito da tastiera l'input va in eventuali caselle di testo aperte (es quella di google.it) o nella casella di ricerca rapida di firefox
-ripetuto piu' volte, stesso comportamento
Se invece di Firefox si seleziona si seleziona Thunderbird o IE il comportamento e' lo stesso
Se invece di Firefox si seleziona Word, la form arriva in primo piano ma Word perde il focus (non riceve piu' da tastiera o mouse)
B) Prove con Pulsante WS (in Foglio2)
1) Modalita A1 come sopra
-dopo 5 secondi compaiono in primo piano due popup coi messaggi programmati; il secondo copre parzialmente il primo
-il focus rimane su Firefox, ma con la navigazione i popup passano in background e la loro presenza rimane visibile nella barra delle applicazioni
-i popup scompaiono dopo 5 e 10 secondi di vita, come programmato.
Se invece di Firefox si seleziona si seleziona Thunderbird o IE il comportamento e' lo stesso
Se invece di Firefox si seleziona Word, i popup arrivano in primo piano (e scompaiono dopo i secondi di vita programmati), ma il focus rimane sull'applicazione, per cui se si sta scrivendo al primo carattere i messaggi scompaiono e passano in secondo piano.
2) Modalita' A2 come sopra
-il comportamento e' come la Modalita' B1
Provato con Win7 e Office 2010
Riepilogo personale:
La macro di scossa porta efficacemente e mantiene in primo piano la userform, con Excel sottostante (metodo 1) oppure con l'applicazione "corrente" sottostante (metodo 2, cioe' avendo minimizzato Excel)
Lo script ha un risultato piu' debole (vedasi possibilita' che l'applicazione corrente ritorni rapidamente in primo piano), ma i messaggi scompaiono autonomamente dopo N secondi (programmabile; la macro invece prosegue autonomamente)
Il file di prova l'ho caricato su dropbox:
https://www.dropbox.com/s/1t16xcuxe4zr6 ... .xlsm?dl=0Sarebbe utile che simo faccia le prove su questo stesso file, con la stessa metodologia.
Ciao