XL 2016 Saisie automatique dans SAP via Excel

  • Initiateur de la discussion Initiateur de la discussion R1-
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R1-

XLDnaute Junior
Bonjour,

Je ne sais pas trop dans quoi je me lance mais j'aimerai saisir dans SAP des données provenant d'Excel. mais je ne sais pas du tout comment m'y prendre, j'ai réussi à enregistrer via l'enregistreur de macro SAP une macro que voici :

VB:
Sub test()

Dim Application As Object
Dim SapGuiAuto As Object
Dim Connection As Object
Dim session As Object


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]/usr/ctxtVTTK-TKNUM").Text = "119420" '119420 à remplacer par une variable
session.FindById("wnd[0]/usr/ctxtVTTK-TKNUM").CaretPosition = 6
session.FindById("wnd[0]").SendVKey 0
session.FindById("wnd[0]").SendVKey 5
session.FindById("wnd[0]/usr/shell/shellcont[1]/shell[1]").SelectItem "          2", "&Hierarchy"
session.FindById("wnd[0]/usr/shell/shellcont[1]/shell[1]").EnsureVisibleHorizontalItem "          2", "&Hierarchy"
session.FindById("wnd[0]/tbar[1]/btn[8]").Press
session.FindById("wnd[0]").SendVKey 7
session.FindById("wnd[0]/usr/shell/shellcont[1]/shell[1]").SelectItem "          3", "&Hierarchy"
session.FindById("wnd[0]/usr/shell/shellcont[1]/shell[1]").EnsureVisibleHorizontalItem "          3", "&Hierarchy"
session.FindById("wnd[0]").SendVKey 3
session.FindById("wnd[0]").SendVKey 3
session.FindById("wnd[0]").SendVKey 3
session.FindById("wnd[0]").SendVKey 3

End Sub

Bien que je comprenne globalement ce que chaque ligne fait, je ne comprend pas comment faire "tourner" tout ça. J'ai essayé de déclarer ce que je crois être des variables mais au niveau du session.FindById, j'ai une erreur d'exécution '91' "variable objet ou variable bloc with non définie"
Bref je n'y comprend pas grand chose et la documentation pour débutant se fait rare sur le sujet, je suis donc preneur de conseils, recommandation, ou lien vers de la documentation.

Merci par avance pour vos conseils.

PS : j'ai tout de même eu la présence d'esprit d'activer SAP GUI scripting API dans les références.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
371
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
213
Réponses
4
Affichages
332
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
45
Retour