Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Saisie automatique dans SAP via Excel

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.
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Si une référence spéciale est cochée, il ne faut plus utiliser de variable As Object, mais As les types définis par la bibliothèque correspondante, sinon cette référence ne sert à rien.
 
Réactions: R1-
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…