Exportation automatique SAP vers Excel

Bonjour,

Je travaille sous sap et j aimerais exporter des donnees vers Excel automatiquement.

Es ce possible?

Je sais que l on peut exporter les données sap vers excel en manu via des tcd. Mais peut on le faire en auto gerer par excel?

Par exemple quand on clic sur un bouton excel, on met a jour le tableur Excel avec les données extraite automatiquement de sap.

Es ce possible? Connaissez-vous un script?

Je vous remercie

Jc

Bonjour Guiss,

Vous pouvez utiliser l'enregistreur de script de SAP pour avoir un fichier ".VBS" et le code qui va bien

Ensuite il faut le manipuler avec Excel pour pouvoir changer certaines "variables"

Et l'exécuter avec le Shell

Bonjour

Aurais tu un exemple? Je ne vois pas commebt faire les script sous sap.

On fait un script et on l integre en vba a excel c est ca?

Merci

Guiss

Bonjour,

Pour enregistrer un script sur SAP rien de plus simple.

En premier ALT et F12

Puis dans liste qui c'est ouverte sélectionné "Enregistrement et playback de script"

Après avoir créé la macro, il vous suffit de l'enregistrer et d'en extraire le code.

Pour l’automatiser via excel il reste quelques petites modification à réaliser sur le script

La SCRIPT SAP s'affiche de cette manière de base

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 = "*****"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtS_WERKS-LOW").text = "8876"
session.findById("wnd[0]/usr/ctxtS_WERKS-LOW").setFocus
session.findById("wnd[0]/usr/ctxtS_WERKS-LOW").caretPosition = 4
session.findById("wnd[0]/usr/btn%_S_DISPO_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,0]").text = "***"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,1]").text = "****"
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,1]").setFocus
session.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA/ssubSCREEN_HEADER:SAPLALDB:3010/tblSAPLALDBSINGLE/ctxtRSCSEL_255-SLOW_I[1,1]").caretPosition = 3

'---------------------------------------------------------------------------------
session.findById("wnd[1]/tbar[0]/btn[8]").press
session.findById("wnd[0]/usr/ctxtVARIANT").text = "/*******"
session.findById("wnd[0]/usr/ctxtVARIANT").setFocus
session.findById("wnd[0]/usr/ctxtVARIANT").caretPosition = 9
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").contextMenu
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").selectContextMenuItem "xxxx"
session.findById("wnd[1]/usr/radRB_1").setFocus
session.findById("wnd[1]/usr/radRB_1").select
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]/usr/ctxtDY_PATH").text = "xxxxxxx"
session.findById("wnd[1]/usr/ctxtDY_PATH").setFocus
session.findById("wnd[1]/usr/ctxtDY_PATH").caretPosition = 11
session.findById("wnd[1]/tbar[0]/btn[11]").press
session.findById("wnd[0]/tbar[0]/btn[3]").press
session.findById("wnd[0]/tbar[0]/btn[3]").press
'---------------------------------------------------------------------------------

La seule partie du script qui nous intéresse est la partie entre les deux barres de ----

Après quelque modification pour l'adapter a VBA on trouve ceci:

       Dim App, Connection, session As Object
        Set SapGuiAuto = GetObject("SAPGUI")
        Set App = SapGuiAuto.GetScriptingEngine
        Set Connection = App.Children(0)
        Set session = Connection.Children(0)

        '---------------------------------------------------------------------------------
        session.findById("wnd[1]/tbar[0]/btn[8]").press
    session.findById("wnd[0]/usr/ctxtVARIANT").text = "/*******"
    session.findById("wnd[0]/usr/ctxtVARIANT").setFocus
    session.findById("wnd[0]/usr/ctxtVARIANT").caretPosition = 9
    session.findById("wnd[0]/tbar[1]/btn[8]").press
    session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").contextMenu
    session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").selectContextMenuItem "xxxx"
    session.findById("wnd[1]/usr/radRB_1").setFocus
    session.findById("wnd[1]/usr/radRB_1").select
    session.findById("wnd[1]/tbar[0]/btn[0]").press
    session.findById("wnd[1]/usr/ctxtDY_PATH").text = "xxxxxxx"
    session.findById("wnd[1]/usr/ctxtDY_PATH").setFocus
    session.findById("wnd[1]/usr/ctxtDY_PATH").caretPosition = 11
    session.findById("wnd[1]/tbar[0]/btn[11]").press
    session.findById("wnd[0]/tbar[0]/btn[3]").press
    session.findById("wnd[0]/tbar[0]/btn[3]").press
    '---------------------------------------------------------------------------------

Il ne vous reste plus qu'à adapter cette démarche à votre SCRIPT SAP

Cognomen

Bonjour,

L'exemple de Cognomen est top mais si tu débute, tu y arriveras mieux avec une vidéo.

J'ai fait une série de tutoriels sur Youtube qui explique exactement ce que tu veux faire : exporter une table depuis SAP pour l'intégrer dans un fichier Excel.

Le lien de le vidéo est ICI

Si tu as d'autres questions n'hésite pas,

Lucas

Salut

Ok je vais regarder tout ca, je vous remercie.

Rechercher des sujets similaires à "exportation automatique sap"