[VB/VBA] commande sendkey

antic80 Messages postés 4877 Statut Contributeur -  
antic80 Messages postés 4877 Statut Contributeur -
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 2012 Statut Membre 859
 
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 4877 Statut Contributeur 1 161
 
ok je vais essayer ca et te remercie bocou

je te tiens au courant
0
Armojax Messages postés 1916 Statut Membre 1 529
 
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 4877 Statut Contributeur 1 161
 
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