Il est possible d’écrire directement ce code (ci-dessous) dans un module VBA, puis de créer un bouton par exemple qui fait appel à l’une ou l’autre fonction (connexion puis déconnexion). L’idéal est de déclarer SAP_Con (objet de connexion), à l’ouverture du fichier.
Connexion à SAP depuis EXCEL 5
Création d’une connexion avec SAP depuis EXCEL
En cette veille de Noël, je propose un petit code en VBA permettant de se connecter à SAP directement. Des options sont possibles comme vous pourrez le voir.
N’hésitez pas à poser vos questions ou mettre vos commentaires sur cette page.
Global SAP_Con As Object ‘Objet de connection SAP
Sub ConnectionSAP()
Set SAP_Con= CreateObject(« SAP.Functions »)
‘********************************************************
‘OPTIONS POSSIBLES (toutes les options sont facultatives)
‘——————————————————–
‘Permet d’enregistrer les infos de connexion et donc d’éviter par la suite d’utiliser les mêmes données (le mot de passe n’est pas enregistré)
SAP_Con.logfilename = « c:temprfc_read_table.txt »
‘9 pour avoir un max d’infos (on peut mettre 3) dans le fichier
SAP_Con.loglevel = 9
‘Données de connexion (facultatives)
SAP_Con.Connection.System = « XXX » ‘Mettre le système
SAP_Con.Connection.client = « 111 » ‘Mettre le mandant
SAP_Con.Connection.user = « XXXXXXXX » ‘Mettre le login
SAP_Con.Connection.Password = « XXXXXXXX » ‘Mettre le mot de passe
SAP_Con.Connection.Language = « EN »
‘********************************************************
‘Connexion à SAP
Set CONN = SAP_Con.Connection
CONN.tracelevel = 0 ‘Niveau de trace côté SAP 0 ou 1
‘Lancer la connexion
If CONN.logon(0, False) <> True Then
MsgBox « Impossible de se connecter ! »
Exit Sub
Else
MsgBox « Connexion réussie ! »
End If
End Sub
Sub DeconnectionSAP()
‘DECONNEXION
SAP_Con.Connection.LOGOFF
If Result <> False Then
MsgBox (EXCEPTION)
Else
MsgBox « Session close »
End If
End Sub
Comme on peut le voir, la connexion est assez simple à réaliser. Mais après que faire une fois que nous sommes connectés à SAP ? Il serait intéressant de pouvoir lire des données, pour construire de Reports par exemple, ou avoir un format adapté, ou ….
Ayant déjà réalisé cela, je le présenterai de façon détaillée dans de futurs posts.
En attendant, Joyeux Noël et meilleurs voeux.
Merci pour ce code, je n’ai pas encore réussi à l’exécuter.
J’ai rajouté des parenthèses après les Msgbox (et suprimé les espaces)
J’ai aussi l’impression que les caractères spéciaux dans le mot de passe posent problème
Et la suite ?
Comment interagir ?
Bonjour,
Vous pourrez trouver un fichier à télécharger dans l’article nommé d’Où viennent les données
Jérémy
Bonjour,
Je n’arrive pas non plus à exécuter le code. Quand je souhaite l’exécuter il me met une erreur de compilation. Voici l’erreur:
« Des constantes, chaines de longueur fixe, tableaux, types définis par l’utilisateur et instructions Declare ne sont pas autorisés comme membres Public de modules d’objet »
cdlt
Bonjour Maxime,
Pouvez-vous me confirmer que vous arriviez à le faire fonctionner jusqu’à présent ?
Si oui, avez-vous changer de version d’Excel ? Est-ce que l’installation SAP a évolué ?
Jérémy