Macro avec autre logiciel

Fermé
Lentz - 4 nov. 2011 à 14:21
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 8 nov. 2011 à 19:02
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

A voir également:

5 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 716
4 nov. 2011 à 19:13
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
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 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
Modifié par eriiic le 7/11/2011 à 11:33
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
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 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
7 nov. 2011 à 11:46
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 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
7 nov. 2011 à 11:54
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 757
8 nov. 2011 à 08:32
Bonjour tout le monde,
Les codes touches sont sur Internet :
http://users.skynet.be/micdub/vba6.htm#touche_code
0
Merci pijaku je suis dessus ;)
0
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 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
Modifié par eriiic le 8/11/2011 à 09:07
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
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 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
8 nov. 2011 à 09:42
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
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 757
8 nov. 2011 à 09:56
salut eriiic,
    AppActivate "SAP logon"
    SendKeys "^+{F7}"
    SendKeys "{enter 3}", True
    Workbooks("Classeur1.xls").Activate
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 757
Modifié par pijaku le 8/11/2011 à 12:35
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
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 757
8 nov. 2011 à 16:36
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
Bon d'accord je vais essayer,

Je vais voir tes posts et je vais tester et jte dirais ;)
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 757
8 nov. 2011 à 16:46
Rien d'urgent, je reviendrais ici demain.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
Modifié par eriiic le 8/11/2011 à 19:06
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