Limites de SendKeys dans macro Excel

marech_a Messages postés 4 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 13 janvier 2009 - 31 mai 2007 à 14:57
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 1 juin 2007 à 00:38
Bonjour,

quel est le nombre maximum de commandes que SendKeys peux envoyer dans une macro Excel?
J'ai fais une petite macro mais au bout de 5 touches, les suivantes ne sont plus envoyées.

Merci pour votre réponse.

Antoine.

6 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
31 mai 2007 à 15:02
Salut,
Tu pourrais donné le code utilisé cela pourrait nous aider à te répondre de manière efficace.

@+: Ju£i?n
Pensez: Réponse acceptée
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
31 mai 2007 à 15:19
Bonjour,

1) J'espère que tu n'essayes pas de piloter une autre appli par des sendkeys successifs... (ce n'est pas une bonne idée)
2) Si tu y tiens, toutefois : pense à Doevents, quand même ...
3) Sendekeys est toujours plein de surprises
0
marech_a Messages postés 4 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 13 janvier 2009
31 mai 2007 à 15:22
Re-bonjour, voici le code.
Effectivement je tente de piloter Outlook 2003
---
Sub OL()
    Dim MyProcID As Integer
   
    MyProcID = Shell("outlook.exe", vbMaximizedFocus)
    Attendre 3
    AppActivate MyProcID
    Attendre 2
    SendKeys "%fx{ENTER}mm{ENTER}"
End Sub
---

Comment fonctionne Doevents?

Merci,

Antoine.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
31 mai 2007 à 15:30
Ouais... tu vas au casse-pipe, ainsi, c'est sur... (pas bon de piloter ainsi... avec des sendkeys ....)
et c'est quoi, ta procédure attendre ? Un sleep ou autre chose ?


remplace-là (à tout hasard) par un doevents, pour voir ...(partout où tu l'utilises)


et mets tes sendkeys deans des envois distincts, également séparés par des Doevents.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
marech_a Messages postés 4 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 13 janvier 2009
31 mai 2007 à 15:42
Si j'ai bien suivi, je met des Doevents() avant chaque SendKeys()
PS voici le code de attendre:
---
Sub Attendre(Secondes As Integer)
' Cette procédure temporise pendant le nombre de secondes qu'on lui transmet en argument
    Dim Début As Long, Fin As Long, Chrono As Long
    Début = Timer
    Fin = Début + Secondes
    Do Until Timer >= Fin
        DoEvents
    Loop
End Sub
---
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
1 juin 2007 à 00:38
Tu peux ajouter un paramètre à Sendkeys Vrai/Faux, je pense (voir l'aide...)

Je ne sais pas ce que tu cherches à faire avec ces SendKeys, mais je suis tout à fait d'accord avec JMF... ce n'est pas une très bonne idée...

MPi
0
Rejoignez-nous