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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Private Declare Function SetCursorPos& Lib "user32" (ByVal x As Long, ByVal y As Long)
'Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'constantes:
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10
Const MOUSEEVENTF_WHEEL = &H80
Const MOUSEEVENTF_XDOWN = &H100
Const MOUSEEVENTF_XUP = &H200
Const WHEEL_DELTA = 120
Const XBUTTON1 = &H1
Const XBUTTON2 = &H2
Sub Processus_copie_appli()
'On copie la cellule A6 de notre fichier Excel
Range("A6").Select
Selection.Copy
'On colle le texte dans l'encadré où se trouve la position de la souris
Call Souris(428, 887)
SendKeys ("^{v}")
'Obligation de temporiser. Pourquoi? Aucune réponse à l'heure actuelle
TimedMess Range("A6").Value, "REPONSE"
'On copie la cellule A6 de notre fichier Excel
Range("A7").Select
Selection.Copy
'On colle le texte dans l'encadré où se trouve la position de la souris
Call Souris(438, 966)
SendKeys ("^{v}")
'Obligation de temporiser. Pourquoi? Aucune réponse à l'heure actuelle
TimedMess Range("A7").Value, "REPONSE"
'On clique sur le bouton enregistrer de l'application
Call Souris(334, 187)
'Obligation de temporiser. Pourquoi? Aucune réponse à l'heure actuelle
TimedMess "Enregistrement", "REPONSE"
'Fenetre Popup de l'application pour validation (mise à non car nous sommes en test)
SendKeys ("{RIGHT}")
SendKeys ("{ENTER}")
'Obligation pour le moment de remettre le numlock car désactivé durant la macro.
'A voir pourquoi
SendKeys ("{NUMLOCK}")
End Sub
Public Function Souris(x, y)
'on active la position du curseur
SetCursorPos x, y
'on clique sur le bouton
Call mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_ABSOLUTE, x, y, 0, 0)
'on relache la bouton
Call mouse_event(MOUSEEVENTF_LEFTUP + MOUSEEVENTF_ABSOLUTE, x, y, 0, 0)
End Function
'windows script host object model à activer!
Sub TimedMess(Message As String, Optional Titre As String)
Dim SH As IWshRuntimeLibrary.WshShell
Set SH = New IWshRuntimeLibrary.WshShell
'fenêtre popup correspondant au msgbox
'mais on a la main sur cette fenêtre étant sur une autre application contrairement au msgbox
SH.Popup Message, 2, Titre, vbOKOnly
End Sub |
Partager