SAP et Excel VBA
Bonjour à toutes et à tous,
j'ai 2 questions concernant les liens entre excel et SAP.
J'ai trouvé sur le net un petit bout de code sur le net afin de tenter d'ouvrir SAP en partant d'une macro qui est ci dessous.
Il lance l'ouverture mais pas complètement, à un moment il faudrait un double clic sur la version de SAP mais je ne sais pas faire.
Ensuite j'ai trouvé comment faire un script sur SAP pour automatiser la transaction, les filtres et l'export mais je ne sais pas comment lancer le script depuis Excel.
Pourriez vous m'aider sur ces 2 points si possible :
1_ Ouverture SAP avec macro
2_ Lancer un script depuis une macro.
Merci d'avance pour votre aide
Sub macro2()
Dim sapConn As Object
Set objshell = CreateObject("WScript.Shell")
Set objapp = objshell.Exec(Environ("PROGRAMFILES") & "\SAP\FrontEnd\SAPgui\saplogon.exe")
Set sapConn = CreateObject("SAP.Functions") 'Create ActiveX object
sapConn.Connection.ApplicationServer = Environ("PROGRAMFILES") & "\SAP\FrontEnd\SAPgui\saplogon.exe"
sapConn.Connection.client = "100" ' only read access
sapConn.Connection.user = Environ("USERNAME")
sapConn.Connection.Password = "PASSWORD"
sapConn.Connection.System = ".FCS Europe: ECC Production (FC1)"
sapConn.Connection.System = "sapfc1.app.corp" 'c'est ici qu'il que j'ai une fenêtre et je dois double cliquer sur FC1
sapConn.Connection.System = ".VCM Global Production"
sapConn.Connection.Language = "FR"
If sapConn.Connection.logon(0, False) <> True Then 'Try Logon
MsgBox "Cannot Log on to SAP"
getSAPProjectHours = False
Else: sapConn.Connection.Logoff
End If
Set sapConn = Nothing
End SubBonjour
pour ceux que cela intéresse, j'ai la solution.
Sur SAP je me suis rendu sur la transaction souhaitée et j'ai créé un raccourci que j'ai mis dans un dossier sur le réseau
Le code est le suivant :
On Error GoTo OuvertureFichierErreur
Dim MonApplication As Object
Dim MonFichier As String
Set MonApplication = CreateObject("Shell.Application")
MonFichier = "lien vers le raccourci créé" 'à remplacer par votre raccourci
MonApplication.Open (MonFichier)
Set MonApplication = Nothing
Exit Sub
OuvertureFichierErreur:
Set MonApplication = Nothing
MsgBox "Erreur lors de l'ouverture de fichier..."
End Subensuite j'ai créé un script et tout fonctionne.
Bonjour romubzh35
Si vous avez le client d'installé sur le PC, il est possible d'utiliser simplement
Sub CréerCommande()
Dim sDevis As String, sCde As String, sDateCde As String, sTmp As String
' Variables objet pour SAP
Dim App, Connection, Session, Wscript
Dim SapGui As Object
' Minimiser cette fenêtre
ThisWorkbook.Windows.Application.WindowState = xlMinimized
FlgOk = False
' Suite pour SAP
If Not IsObject(App) Then
Set SapGui = GetObject("SAPGUI")
Set App = SapGui.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = App.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 App, "on"
End If
Session.findById("wnd[0]/tbar[0]/okcd").Text = "VA01"
Session.findById("wnd[0]").sendVKey 0
' Etc....Si vous avez trouvé, tant mieux
En revanche, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum et notamment :
- Ne postez pas la même question sur un autre forum pour éviter de faire perdre bêtement du temps aux membres sur un problème qui peut être déjà résolu sur l'autre forum. L'inverse est également valable, si vous avez déjà posé votre question sur un autre forum, ne créez pas un doublon sur ce forum (à moins d'avoir clôturé le sujet sur l'autre forum).
Je clôture donc le sujet ici
Merci de votre compréhension