Macro avec autre logiciel

Lentz -  
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Pas de fichier exemple, c'est une question pour ma connaissance personnelle (pour le moment)

Je voulais savoir si c'était possible de faire une macro en exportant des fichiers sur excel via un ERP (SAP)

Merci d'avance

5 réponses

gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour

Si tu veux "exporter des fichiers sur excel" il faut faire la macro dans l'ERP.

Plus exactement dans l'ERP, tu fais un export dans un fichier (CSV par exemple) puis dans excel tu peux faire un import du fichier avec une macro de traitement.
0
Lentz
 
Merci de ta réponse, mais voilà je voulais éviter cette étape d'export dans un fichier, et que tout se fasse par macro !
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 281
 
Bonjour,

Là c'est plus du coté des possibilités de SAP qu'il faudrait voir.
Mais SAP est un monument tellement énorme qu'il faudrait peut-être chercher un forum qui lui est dédié.
Attend un peu mais très peu de spécialistes de SAP passent par ici...

eric
0
Lentz
 
Mais SAP est un monument tellement énorme

Je confirme,
Merci de ton aide, du coup via excel je ne peux rien faire !
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 281
 
Je n'ai pas dit ça.
Il y a peut-être des API (ou autre) SAP qui permettent d'interroger la base SAP...
Mais la question pour l'instant est coté SAP, pas coté excel
eric
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 281
 
On ne peut pas éditer mais j'ajoute mon avis perso :

Tu vas passer un temps fou à trouver ça.
Si c'est possible et que demain SAP change ses protocoles plus rien ne marchera et tout sera à refaire.
Donc je remettrai cette idée dans ma poche avec mon mouchoir par dessus, et je ferai une macro qui travaille avec l'export xls de SAP ;-)

eric
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 767
 
Bonjour tout le monde,
Les codes touches sont sur Internet :
http://users.skynet.be/micdub/vba6.htm#touche_code
0
Lentz
 
Merci pijaku je suis dessus ;)
0
Lentz
 
Malgré de nombreux test

"Argument ou appel de procédure incorrect"

S'affiche lors de l'éxécution de la macro !
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 281
 
Bonjour,

Comme tu es le seul à savoir ce que tu as écris et où est l'erreur je suppose que tu veux trouver seul...
Donc pas la peine de laisser de message ici.
eric
0
Lentz
 
ce que j'ai écris est simple

Sub exportSAP()
'    'codes à envoyer à SAP
    AppActivate "SAP logon"
    SendKeys "^+{F7}"
    SendKeys "{enter 3}", True
    AppActivate "Classeur5.xls"
End Sub


Sachant que mes tests se portaient sur le changement de "SAP logon" que j'ai beaucoup modifié!

Et au préalable j'ai préparer SAP qui est prêt à se faire exporter !
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 281
 
Essaie de faire un effort, c'est pénible de devoir demander tous les détails 2-3 fois.
Je sens que je vais me lasser...
L'erreur est où ?
0
Lentz
 
L'erreur est où ?

J'ai juste le message "Argument ou appel de procédure incorrect" qui s'affiche dans une msg box, en aucun cas j'ai le code vba qui s'affiche avec une ligne jaune pour m'afficher où est l'erreur !
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 767
 
salut eriiic,
    AppActivate "SAP logon"
    SendKeys "^+{F7}"
    SendKeys "{enter 3}", True
    Workbooks("Classeur1.xls").Activate
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 767
 
Re-
J'ai trouvé sur le net cette sub qui liste le titre de toutes les fenêtres ouvertes, toutes applications confondues. Cela pourrait également servir à déterminer qu'elle fenêtre activer avec AppActivate...

Option Explicit 

Private Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long 
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long 
Private Declare Function IsWindowVisible Lib "user32" (ByVal hWnd As Long) As Long 
Private Declare Function GetDesktopWindow Lib "user32" () As Long 

Sub ListeFenetresOuvertes() 
Dim hWnd As Long 
Dim Titre_Fenetre As String * 255 
Dim TitreFen As String 
Dim ret As String 
Dim j As Long 
hWnd = GetWindow(GetDesktopWindow(), 5) 
Do While (Not IsNull(hWnd)) And (hWnd <> 0) 'Passe en revue chaque fenêtre 
      Titre_Fenetre = String(255, 0)  'Formate la chaine destinée à accueillir le titre de la fenêtre 
      ret = GetWindowText(hWnd, Titre_Fenetre, 255)   'récupère le titre de la fenêtre et le nombre de caractères de ce titre 
      If Titre_Fenetre <> String(255, 0) Then             'Si le titre n'est pas vide 
            If IsWindowVisible(hWnd) = 1 Then                   'Pour ne tenir compte que des fenêtres visibles (regardez ce que ça donne en retirant cette condition) 
               TitreFen = Titre_Fenetre        'récupère le titre de la fenêtre 
               TitreFen = Left(TitreFen, ret)  'sans les caractères supplémentaires finaux 
               j = j + 1 
               Sheets("Feuil1").Range("A" & j) = TitreFen 
               Sheets("Feuil1").Range("B" & j + 1) = Titre_Fenetre 
               j = j + 1 
            End If 
      End If 
      hWnd = GetWindow(hWnd, 2) 'cherche la fenêtre suivant 
Loop 
End Sub


Cordialement,
Franck P
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lentz
 
Merci pour vos messages mais j'y connait pas grand chose en VBa et là ça dépasse vraiment mes petites compétences...
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 767
 
Ce n'est pas parce que tu débutes qu'il faut laisser tomber...

On te demande de continuer ce sujet pour réussir à réaliser ce que beaucoup d'autres n'ont pas su faire.

Regarde sur Internet, ce genre de question s'est posée plusieurs fois sans solutions... Si, grâce à ton aide, Eriiic ou moi (voir les 2) trouvons la méthode se sera ça de gagné pour toi et toute la communauté...

Donc essaye à nouveau, dis nous ou ça coince et ensemble on va peut être y parvenir...
Je dis "peut être" car SAP est une rude machine dure à percer...........

Persévérons, je suis persuadé que cela vaut le coup.

ps : si je disposais de SAP et pouvais tester moi même, je ne te demanderais pas de rester mais là...
0
Lentz
 
Bon d'accord je vais essayer,

Je vais voir tes posts et je vais tester et jte dirais ;)
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 767
 
Rien d'urgent, je reviendrais ici demain.
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 281
 
Re,

Pour activer la fenetre il faut en paramètre soit :
-prendre le début de la chaine (autant de caractères que tu veux, 2 ou 10 ou ...) affichée dans la barre de titre de la fenetre.
- ou, si cette partie n'est pas constante ou suffisament discriminante, prendre ce qu'il y a après le tiret - , mais là il faut toute la chaine jusqu'au bout.

Si avec ces 2 possibilités tu n'arrives pas à trouver une partie constante suffisament significative, il reste la possibilité dans lancer SAP par excel et là on aura le handle de la fenetre sans ambiguité. Mais c'est plus contraignant...

eric
0

Discussions similaires