Microsoft 365 Attente entre 2 sendkeys

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Laurent78

XLDnaute Occasionnel
Bonjour à Tous,
Quelqu'un ici saura-t-il m'expliquer le fonctionnement bizarre que j'obtiens avec le code ci-dessous.

VB:
Sub aaa()
'    Application.Wait (Now + TimeValue("0:00:02"))
    Call CTRL_P
'    DoEvents
'    Application.Wait (Now + TimeValue("0:00:05"))
    For i = 1 To 100000000
    Next i
    Call ESC
End Sub

Sub CTRL_P()
Dim Wsh As Object
    Set Wsh = CreateObject("WScript.Shell")
    Wsh.SendKeys "^p", True
    Set Wsh = Nothing
End Sub

Sub ESC()
Dim Wsh As Object
    Set Wsh = CreateObject("WScript.Shell")
    Wsh.SendKeys "{ESC}", True
    Set Wsh = Nothing
End Sub

Lorsque j'appelle la macro aaa depuis une feuille Excel (ALT + F8), je n'obtiens pas l'effet souhaité : je voudrais ouvrir la fenêtre d'Impression, attendre un peu, puis la fermer en envoyer la touche ESC. L'attente se fait directement au début et non pas entre les deux SendKeys.
Par ailleurs, si je fais un DoEvents juste après le "Call CTRL_P", alors, j'ai la très vieille fenêtre d'impression qui s'affiche.
J'ai essayé avec le SendKey de l'application, même résultat. Idem sur différentes versions d'Excel et 32 ou 64 bits.
Bref, c'est très bizarre.

Si quelqu'un a une idée ...
Merci

PS : je suis tombé sur ce problème en essayant de cocher "Accès approuvé au modèle d'objet du projet VBA" dans les options d'Excel.

Bonne semaine,
Laurent
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
95
Réponses
8
Affichages
982
Retour