[VB/VBA] commande sendkey

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 ???

3 réponses

  1. 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. Contributeur
      ok je vais essayer ca et te remercie bocou

      je te tiens au courant
      1. 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
    2. Contributeur
      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