Gérer application tierce : copier un champ
Bonjour,
J'ai depuis quelques temps mon fichier excel et mes macros pour gérer mes heures de travail.
J'ai découvert très récemment que je pouvais interagir de près ou de loin avec d'autres applications. J'ai donc créé une macro qui ouvre mon application .exe, qui rentre dans le champ présélectionné, la fonction pour obtenir mes heures, puis mon numéro de badge. J'arrive donc sur la page d'heures, qui ressemble à un tableau duquel je peux sélectionner la ligne du jour que je veux. Voici mon code :
Sub HQ()
'Ouverture de l'application
Shell ("C:\HoroQuartz\SFDC_HQA\IdClavier\SfdcQuartz.exe")
'Fonction Heures
Application.SendKeys ("F12~")
'Mon numéro de badge
Application.SendKeys ("487512~")
'Ici j'aimerais faire une truc du type:
'copie la ligne présélectionnée
'Mets la dans une cellule/messagebox (ce que je sais faire)
End Sub
Auriez vous des pistes ?
Merci d'avance,
Cordialement,
Marc.
Bonjour Marc et bonne fête
Mieux vaut utiliser Wscript pour faire du Sendkeys, sinon vous perdrez à chaque fois le verrouillage numérique
Sinon peut-être avec ce genre de code
Sub HQ()
Dim Ws as Object
Set ws = VBA.CreateObject("WScript.Shell")
'Ouverture de l'application
Shell ("C:\HoroQuartz\SFDC_HQA\IdClavier\SfdcQuartz.exe")
'Fonction Heures
Ws.SendKeys ("F12~")
'Mon numéro de badge
Ws.SendKeys ("487512~")
' Copier CTRL+C
Ws.SendKeys("^C")
' Activer le classeur
ActiveWorkbook.Activate
' Coller la valeur CTRL+V
Ws.SendKeys("^V")
'Mets la dans une cellule/messagebox (ce que je sais faire)
End Sub
A+
Merci de ta réponse !
"Mieux vaut utiliser Wscript pour faire du Sendkeys, sinon vous perdrez à chaque fois le verrouillage numérique"
→ Effectivement, ça commençait à m'agacer, merci pour la soluce !
Sinon, je vais tenter ça, merci, je n'y avais pas pensé
Marc
PS: Merci, effectivement, c'est le 25 avril !