Optimisation d'un code SendKeys
Bonjour.
Ci-dessous un code me permettant d'automatiser une ressaisi récurrente.
L'utilisateur déclenche la procédure, il a alors 3 secondes pour basculer dans un programme de gestion, ou les différentes actions du script permettent de mettre en forme un document avec les données du classeur Excel.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| Private Sub CommandButton3_Click()
Dim info As String
Dim MyData As New DataObject
Unload UserForm12
Application.Wait (Now + TimeValue("0:00:03"))
Application.SendKeys "~"
Application.Run ("Feuil30.infomachine")
Application.SendKeys "^v"
Application.SendKeys "{DOWN}"
Application.Wait (Now + TimeValue("0:00:01"))
Application.Run ("Feuil30.infoproduit")
Application.SendKeys "^v"
Application.SendKeys "{DOWN}"
Application.SendKeys "{LEFT}"
Application.Wait (Now + TimeValue("0:00:01"))
info = [C103]
MyData.SetText info
MyData.PutInClipboard
Application.SendKeys "^v"
Application.SendKeys "~"
Application.Wait (Now + TimeValue("0:00:01"))
Range("A98:D124").CopyPicture xlScreen, xlPicture
Application.SendKeys "{F4}"
Application.SendKeys "^v"
Application.SendKeys "{ENTER}"
Application.Wait (Now + TimeValue("0:00:01"))
Application.Run ("Feuil30.capturedelai")
Application.SendKeys "^v"
Application.SendKeys "{ENTER}"
Application.SendKeys "^e"
Application.SendKeys "%v"
End Sub |
Les lignes Application.Wait permettent de poser un temps mort afin que les actions aient le temps de se terminer, cela fonctionne très bien mais augmente le temps d’exécution du code.
Quelles sont les possibilités d'optimisation du temps d’exécution de ce code ?
Merci d'avance de vos réponses, en espérant avoir été clair dans mes explications.
Bonne journée à vous.