Bonjour tout le monde,
Je suis face à problème qui j'espère a une solution
Mon objectif, me direz vous est tordu, mais c'est la seule solution que j'ai !
J'ai un logiciel qui me retourne sous forme visuel (ou à imprimer) un tableau d'infos. La visu se fait sous forme de page (page up/down). Je souhaiterais extraire ces infos visuel vers Excel, sachant qu'un copier coller fonctionne correctement. Le seul problème les pages (en moyenne 65pages), il est donc hors de question de faire cela à la main.
J'ai donc créé un enchaînement de tâche (mouvement de souris, clic, copier coller, changement de fenetre ...) avec TinyTaskPortable. Un genre de macro que je peu rééxécuté au format .exe.
Cette enchaînement de taches a pour effet de sélectionner une zone dans une fenêtre, faire copier (Ctr+C), prendre la fenêtre directement dessous, Xl, (Alt + tab), puis coller les infos (Ctrl + V)
Mon objectif maintenant est d'executer en boucle ce .exe a partir d'Xl, jusqu'à trouver une certaine valeur indiquant la fin.
Voila mon code actuel :
Vous le comprendrez mon problème est au niveau de l'éxécution du .exe, et surtout le Ctrl+V.
Le .exe n'arrive pas à coller correctement.
Ce qui est bizarre c'est qu'en mode déboguage, le Ctrl+V fonctionne correctement. Je pense qu'en lecture normal, il est impossible d'éditer les tableaux.
Le problème est donc à ce niveau là :
Auriez vous une autre solution que cela qui pourrait me permettre d'éxécuter mon .exe tout en mettant en pause la macro, et en la relancant une fois le .exe fermé ?
En vous remerciant,
Gabvoir
Je suis face à problème qui j'espère a une solution
Mon objectif, me direz vous est tordu, mais c'est la seule solution que j'ai !
J'ai un logiciel qui me retourne sous forme visuel (ou à imprimer) un tableau d'infos. La visu se fait sous forme de page (page up/down). Je souhaiterais extraire ces infos visuel vers Excel, sachant qu'un copier coller fonctionne correctement. Le seul problème les pages (en moyenne 65pages), il est donc hors de question de faire cela à la main.
J'ai donc créé un enchaînement de tâche (mouvement de souris, clic, copier coller, changement de fenetre ...) avec TinyTaskPortable. Un genre de macro que je peu rééxécuté au format .exe.
Cette enchaînement de taches a pour effet de sélectionner une zone dans une fenêtre, faire copier (Ctr+C), prendre la fenêtre directement dessous, Xl, (Alt + tab), puis coller les infos (Ctrl + V)
Mon objectif maintenant est d'executer en boucle ce .exe a partir d'Xl, jusqu'à trouver une certaine valeur indiquant la fin.
Voila mon code actuel :
Code:
Public Sub launchExtract()
Dim endRange As Range
Do
If extractAS400 = False Then
Exit Do
End If
Set endRange = ActiveSheet.UsedRange.Find("FIN DE L'EDITION")
Loop Until Not endRange Is Nothing
End Sub
Public Function extractAS400() As Boolean
Dim AppTitle As String, tmr As Long
Dim chemin As String
extractAS400 = True
chemin = Workbooks(ActiveWorkbook.Name).Path
AppTitle = "Session A - [27 x 132]" 'ici le titre de la fenetre a maximiser
AppActivate AppTitle
tmr = Timer
While ((Timer - tmr) < 2)
Wend
If AppMaximize(AppTitle) = False Then
MsgBox "L'AS400 n'est pas ouvert"
extractAS400 = False
Exit Function
End If
Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
Dim errorCode As Integer
errorCode = wsh.Run(chemin & "\AS400.exe", windowStyle, waitOnReturn)
MsgBox "ok"
If errorCode <> 0 Then
MsgBox "Program exited with error code " & errorCode & "."
extractAS400 = False
Exit Function
End If
End Function
Vous le comprendrez mon problème est au niveau de l'éxécution du .exe, et surtout le Ctrl+V.
Le .exe n'arrive pas à coller correctement.
Ce qui est bizarre c'est qu'en mode déboguage, le Ctrl+V fonctionne correctement. Je pense qu'en lecture normal, il est impossible d'éditer les tableaux.
Le problème est donc à ce niveau là :
Code:
wsh.Run(chemin & "\AS400.exe", windowStyle, waitOnReturn)
Auriez vous une autre solution que cela qui pourrait me permettre d'éxécuter mon .exe tout en mettant en pause la macro, et en la relancant une fois le .exe fermé ?
En vous remerciant,
Gabvoir
Dernière édition: