Mettre en lien SAP et une macro Excel

Bonjour,

je suis actuellement en stage et on me demande de créer une interface via excel pour lancer et exécuter des actions sur SAP.

En fait l'entreprise va mettre en place un système de douchette pour scanner les sorties et entrées en stock. Ce système de douchette du modèle motorola MC3100 créé lors du déchargement de ces données sur l'ordinateur un fichier qui doit actuellement être rentré sur SAP après plusieurs manœuvres. Or cela n'est pas simple pour les manutentionnaire et leur fait perdre du temps.

On me demande donc de créer un fichier excel avec 2 boutons de contrôle de formulaire. Un pour les entrées et un pour les sorties. Mais au final les deux boutons seront affectés à la même macro puisque la marche à suivre dans les deux cas est la même.

Ca fait plusieurs jour que je lie des forums et tente d'ouvrir SAPLogon 720 puis de lancer PGI et ensuite rentrer le nom de l'application dans l'onglet SAP que je veux atteindre sans succès. Une fois cette fenêtre d'application atteinte "Z0..." il faut aller copier l'emplacement du fichier avec le nom de celui-ci, avant de faire exécuter et fermer SAP. (dans le fichier photo sap vous voyez les différentes étapes sur Sap).

Ne réussissant pas j'ai bidouillé en créant un lien hypertexte dans ma macro faisant appel à un raccourci que j'ai créé et lançant SAP directement sur la bonne application "Z0...". Il ne reste plus qu'a rentrer automatiquement le mot de passe en écrivant sur la fenêtre SAP mais il ne veut pas écrire le mot de passe dans la bonne fenêtre le programme me rentre le mot de passe sur excel.

Voici mon code :

Sub tracking()

'Selectionne la case et copie son contenu : c'est le lien du fichier de la douchette et son nom qu'il faudra copier sur SAP

Range("B1").Select

Selection.Copy

'supprime le message "Certains fichiers peuvent contaminer ou endommager... Voulez vous ouvrir ce fichier?" qui pouvait faire buguer le programme

Application.SendKeys "{TAB}" 'pour passer de Annuler (actif par défaut) à OK

Application.SendKeys "{ENTER}"

' lancer lien hypertext Macro

Range("A1").Select 'le lien hypertext est dans la case A1, il faudra le changer en fonction de où a été placé le racourci SAP-tracking,

Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

'j'ai essayé ça mais ça n'a pas marché

'Dim Channel As Integer

'Channel = Application.DDEInitiate( _

app:="Saplogon",

'topic:="C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe")

'Application.DDEExecute Channel, "+(&&éé&çç')"

'Application.DDETerminate channel

'ce qui suis n'a fais que mécrire sur excel et non sur la fenêtre SAP qui était pourtant au premier plan

Application.SendKeys "+(&&éé&çç')"

Application.SendKeys "{ENTER}"

Application.SendKeys "^(a)"

Application.SendKeys "{DELETE}"

End Sub

N'étant pas du tout familiarisée avec SAP et les macros pourriez vous m'aider s'il vous plait que ce soit avec ma "bidouille" début de code ou un autre moyen .

Bonjour Nausica

Juste comme ça, c'est de la pure HÉRÉSIE que de vouloir gérer SAP avec le VBA

Je ne sais pas qui t'a demandé ça, mais il ne doit pas connaitre SAP

Si tu penses pourvoir utiliser des Sendkeys à tout va, tu te mets le doigt dans l’œil profondément

Bonne chance

C'est bon j'ai trouvé une solution qui marche avec des sendkeys mais utilisé différemment que dans mon code précédent.

Bonne fin de journée à tous

Re,

1) Cela aurait été bien de faire partager ta solution

2) j'espère que tu as prévenu tes utilisateurs de ne rien toucher pendant que la macro s'exécue

Bonjour,

j'ai le même problème en stage, pourrais tu s'il te plait partage ta solution.

Merci beaucoup

Rechercher des sujets similaires à "mettre lien sap macro"