Automatisation SAP GUI d'une macro

Bonsoir,

j'ai un petit problème que j'essaie de résoudre en vain, je ne m'y connais pas trop en développement informatique.

J'ai une transaction à effectuer, et pour que cela soit plus simple j'aimerais l'automatisé, j'ai enregistrer un script que je met en .txt dans un dossier bien particulier, donc j'aimerais que le programme lise ce fichier text automatiquement et qu'il me transfère ces données dans mon fichier excel nommé "text.xlsm" sur la feuille nommé "Immo".

Je vous joint mon classeur excel "test"

126test.xlsm (14.08 Ko)

Je vous transmet le script :

If Not IsObject(application) Then

Set SapGuiAuto = GetObject("SAPGUI")

Set application = SapGuiAuto.GetScriptingEngine

End If

If Not IsObject(connection) Then

Set connection = application.Children(0)

End If

If Not IsObject(session) Then

Set session = connection.Children(0)

End If

If IsObject(WScript) Then

WScript.ConnectObject session, "on"

WScript.ConnectObject application, "on"

End If

session.findById("wnd[0]").maximize

session.findById("wnd[0]/tbar[0]/okcd").text = "S_ALR_87012284"

session.findById("wnd[0]/tbar[0]/btn[0]").press

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/radBILAGRID").select

session.findById("wnd[0]/usr/ctxtSD_KTOPL-LOW").text = "PCGR"

session.findById("wnd[0]/usr/ctxtSD_BUKRS-LOW").text = "0092"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/ctxtBILAVERS").text = "BIFR"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/ctxtBILASPRA").text = "FR"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/txtBILBJAHR").text = "2019"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/txtB-MONATE-LOW").text = "1"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/txtB-MONATE-HIGH").text = "8"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/txtBILVJAHR").text = "2018"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/txtV-MONATE-LOW").text = "1"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/txtV-MONATE-HIGH").text = "12"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/ctxtBILAGVAR").text = "1SAP"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/ctxtBILATVAR").text = "1SAP"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/ctxtBILATVAR").setFocus

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/ctxtBILATVAR").caretPosition = 4

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM30").select

session.findById("wnd[1]/tbar[0]/btn[0]").press

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM30/ssub%_SUBSCREEN_TABBL1:RFBILA00:0030/chkALLGALTK").selected = true

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM30/ssub%_SUBSCREEN_TABBL1:RFBILA00:0030/ctxtBILABTYP").text = "1"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM30/ssub%_SUBSCREEN_TABBL1:RFBILA00:0030/ctxtSTICHTAG").text = "04.06.2019"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM30/ssub%_SUBSCREEN_TABBL1:RFBILA00:0030/ctxtKURS_TYP").text = "M"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM30/ssub%_SUBSCREEN_TABBL1:RFBILA00:0030/ctxtKURS_TYP").setFocus

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM30/ssub%_SUBSCREEN_TABBL1:RFBILA00:0030/ctxtKURS_TYP").caretPosition = 1

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2").select

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILABKON").text = "3"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILAGKON").text = "3"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILAVART").text = "1"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILASKAL").text = "0/0"

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILASKAL").setFocus

session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILASKAL").caretPosition = 3

session.findById("wnd[0]/tbar[1]/btn[8]").press

session.findById("wnd[0]/mbar/menu[0]/menu[3]/menu[2]").select

session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").select

session.findById("wnd[1]/usr/subSUBSCREEN_STEPLOOP:SAPLSPO5:0150/sub:SAPLSPO5:0150/radSPOPLI-SELFLAG[1,0]").setFocus

session.findById("wnd[1]/tbar[0]/btn[0]").press

session.findById("wnd[1]/usr/ctxtDY_FILENAME").text = "SCRIPT1.TXT"

session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 11

session.findById("wnd[1]/tbar[0]/btn[0]").press

J'aimerais automatisé plusieurs transaction sur la même feuille mais je pense que je peut le faire si j'ai un exemple.

Merci d'avance, bonne soirée!!

personne pour m'aider ? je galère vraiment :/

Rechercher des sujets similaires à "automatisation sap gui macro"