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 !

Rechercher des sujets similaires à "gerer application tierce copier champ"