Microsoft 365 Transaction SAP depuis excel via VBA

romubzh35

XLDnaute Occasionnel
Bonjour,

je voudrais savoir si il est possible de faire une macro qui ouvre SAP et savoir si il est possible de pousser plus loin et de réaliser une opération.
j'ai trouvé ce code sur le net et cela bloque sur l'ouverture de SAP
La fenetre SAP s'ouvre ensuite ensuite je dois choisir quel SAP ouvrir et c'est la que cela bloque pour le moment.
pourriez vous m'aider svp.

VB:
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("XXXXXXX") 'nom d'utilisateur
sapConn.connection.Password = "XXXXXX" 'mot de passe
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 Sub
 

romubzh35

XLDnaute Occasionnel
Bonjour à toutes et à tous
je poursuis mes essais .

Lorsque je tente avec ce code
VB:
Sub Connect4_SAP()
Dim sapConn As Object 'Declare connection object
Set sapConn = CreateObject("SAP.Functions") 'Create ActiveX object
sapConn.Connection.client = "100" ' only read access
sapConn.Connection.user = Environ("USER") 'nom d'utilisateur
sapConn.Connection.Password = "PASSWORD" 'mot de passe
sapConn.Connection.System = ".FCS Europe: ECC Production (FC1)"
'sapConn.Connection.System = ".VCM Global Production"
sapConn.Connection.System = "sapfc1.app.corp"
sapConn.Connection.Language = "FR"
'Try Logon
If sapConn.Connection.Logon(0, False) <> True Then MsgBox "Impossible de se connecter à SAP"
End Sub

J'ai le message d'erreur suivant :
Groupe de messages d'erreur

RFC_ERROR_PROGRAM
Message
Parameter ASHOST, GWHOST, MSHOST or PORT is missing.

Quand j'utilise ce code
Code:
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 = "sapfc1.app.corp"
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 Sub


j'arrive sur la fenêtre ou je dois choisir
FCS Europe:ECC Production (FC1)

donc dans les 2 cas j'ai un probleme :)
 

romubzh35

XLDnaute Occasionnel
Bonjour
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 :

VB:
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 Sub

ensuite j'ai créé un script et tout fonctionne.
 

Statistiques des forums

Discussions
315 093
Messages
2 116 136
Membres
112 667
dernier inscrit
foyoman