Fonctionnement algorithme: Message de confirmation
Bonjour à tous,
Je cherche désespérément à afficher un message ("OK") si mon algorithme a bien fonctionné. J'aimerais créer une forme qui apparaît et disparaît qq secondes plus tard (un msgbox nécessiterait un clic en plus,... pas ergonomique ^^)
Malheureusement, la forme créée n'apparaît pas malgré l'usage du Timer.
Pour plus de clarté, je vous joins un fichier test qui illustre le pb.
-1er problème: Dans le code de la Feuil1, la gestion du message ("OK") se fait lignes 14 et 15. Si vous mettez en commentaire "suppr_OK", le message s'affiche, sinon non. L'augmentation du temps de pause (Timer) n'a aucun effet. Je vous laisse y jeter un coup d'oeil
-2eme problème: dans le module 1, si vous réactivez les lignes 6 et 7 qui sont censé afficher un message ("OK") pour un 2eme algorithme en feuille 2 (mais toujours ce même 1er problème), celui-ci tournera, mais pas l'algorithme principale en feuille 1. En gros, en lançant le sous programme (feuille2), ça fonctionne, en lançant le programme principal (feuille1), ça ne fonctionne plus.
A me relire, je crains que mon message ne soit pas clair, n'hésitez pas à me questionner
Dans l'espoir qu'en ces temps de confinement, vous puissiez passer un peu de temps à résoudre mes problèmes, ...
Je vous souhaite une très bonne journée !
Bonjour,
Pour afficher un msgbox temporaire :
Sub useShellPopUp()
Dim Rslt As Integer
Dim TempoSec As Integer
TempoSec = 2
Rslt = CreateObject("WScript.Shell").Popup("Tempo 2s", TempoSec, "Message Title")
End SubBonjour,
Merci pour votre réponse. Les msgbox temporaires ne fonctionnent pas bien à mon goût. Le temps d'affichage minimal est beaucoup trop long.
Du coup à la place, j'utilise un UserForm.
Voici le bout du code pour celui que ça intéresse:
Sub message_OK()
Dim T0 As Single, Duree As Integer
T0 = Timer: Duree = 0.6
'Etat.Controls("Label1").BackColor = RGB(39, 191, 46)
Do
If Not Etat.Visible Then Etat.Show 0
Etat.Label1 = " OK!"
Etat.Caption = " ÉTAT"
DoEvents
Loop Until (Timer - T0) > Duree
Unload Etat
End Sub
Sub message_erreur()
Dim T0 As Single, Duree As Integer
T0 = Timer: Duree = 0.6
Etat2.Controls("Label1").BackColor = RGB(255, 255, 255)
Do
If Not Etat2.Visible Then Etat2.Show 0
Etat2.Label1 = "ERREUR!"
Etat2.Caption = " ÉTAT"
DoEvents
Loop Until (Timer - T0) > Duree
Unload Etat2
End SubBonne journée à vous !