[VB/VBA] commande sendkey

Fermé
antic80 Messages postés 4785 Date d'inscription lundi 30 mai 2005 Statut Contributeur Dernière intervention 9 septembre 2009 - 16 janv. 2006 à 16:49
antic80 Messages postés 4785 Date d'inscription lundi 30 mai 2005 Statut Contributeur Dernière intervention 9 septembre 2009 - 18 janv. 2006 à 09:24
bonjour a tous

voila je suis sur un programme vba sous excel et j'ai un soucis avec la commande sendkeys

j'ai une case a coché. quand je coche cette case une msgbox apparait. j'aimerai qu'au bout de 5 secondes la msgbox se retire toute seule

je pensais faire un timer avec dedans la commande sendkeys pour simuler l'appuie sur la touche entrée mais ca marche pas

quelqu'un peut m'aider ???
A voir également:

3 réponses

JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
18 janv. 2006 à 00:52
bonsoir,

j'ai adapté un code trouvé via google :

Sub Caseàcocher1_QuandClic()
    Set wshshell = CreateObject("WScript.Shell")
    madurée = 2     '2 secondes
    wshshell.Popup "mon message", madurée, "montitre"
End Sub


tu utilises un popup plutôt qu'un msgbox.
il faut référencer windows script host object model pour que ça marche. (remarque je n'ai pas essayé sans ce référencement)

cordialement
1
antic80 Messages postés 4785 Date d'inscription lundi 30 mai 2005 Statut Contributeur Dernière intervention 9 septembre 2009 1 159
18 janv. 2006 à 07:46
ok je vais essayer ca et te remercie bocou

je te tiens au courant
0
Armojax Messages postés 1860 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 2 octobre 2024 1 528
18 janv. 2006 à 08:50
Bonjour antic80,

Au lieu d'une MsgBox, tu peux te faire un petit UserForm (FormPopUp dans l'exemple) contenant seulement un label dans lequel tu écris ce que tu veux.
Tu appelles ce UserForm quand ta case est cochée :
Private Sub CheckBox1_Change()
  If CheckBox1.Value = True Then
    FormPopUp.Show
  End If
End Sub


Dans l'Initialise de FormPopUp, tu lances la macro qui va le renvoyer 5 secondes plus tard, avec la commande OnTime qui lance la macro CéFini :
Private Sub UserForm_Initialize()
  Application.OnTime Now + TimeValue("00:00:05"), "CéFini"
End Sub

Sub Céfini()
  Unload FormPopUp
End Sub
0
antic80 Messages postés 4785 Date d'inscription lundi 30 mai 2005 Statut Contributeur Dernière intervention 9 septembre 2009 1 159
18 janv. 2006 à 09:24
merci Armojax je vais garder ton code bien au chaud au cas ou

le code de JvDo marche a merveille

merci les gars

je precise pour JvDo que ca marche sans referencement
0