IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Activer une fenêtre Windows via VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Activer une fenêtre Windows via VBA
    Bonjour tout le monde ,

    Je vous présente ma problématique :
    Je cherche à envoyer des informations (via l'utilisation de SendKeys) à une session ouverte de SAP. Actuellement, mon code fonctionne très bien mais je passe par la fenêtre de connexion de SAP pour arriver à mes fins, ce qui m'obligent à fermer la session en cours de SAP avant de lancer ma macro (pas très pratique). Je cherche donc un moyen d'activer la fenêtre Windows où ma sessions SAP est ouverte avant d'utiliser les SendKeys (sinon les SendKeys sont redirigés vers mon code vb).

    J'ai cherché quelque informations pour activer une fenêtre Windows, l'utilisation d'API seraient peut-être nécessaire mais rien de très claire pour moi.

    Merci de vos réponses !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Au fil de mes recherches, voilà ce que j'arrive à obtenir à l'heure actuel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
    (ByVal lpClassname As String, ByVal lpWindowName As String) As Long
    Declare Function SetForegroundWindow Lib "user32" _
    (ByVal hwnd As Long) As Long
    Declare Function ShowWindow Lib "user32" _
    (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
     
    ' ShowWindow() Commands
    Public Const SW_HIDE = 0
    Public Const SW_SHOWNORMAL = 1
    Public Const SW_NORMAL = 1
    Public Const SW_SHOWMINIMIZED = 2
    Public Const SW_SHOWMAXIMIZED = 3
    Public Const SW_MAXIMIZE = 3
    Public Const SW_SHOWNOACTIVATE = 4
    Public Const SW_SHOW = 5
    Public Const SW_MINIMIZE = 6
    Public Const SW_SHOWMINNOACTIVE = 7
    Public Const SW_SHOWNA = 8
    Public Const SW_RESTORE = 9
    Public Const SW_SHOWDEFAULT = 10
    Public Const SW_MAX = 10
    '-----------------------------------
     
    Sub Activer_Voir_Fenêtre()
    Dim hwnd As Long, Voir_Fenêtre As String
     
    Voir_Fenêtre = "Sans titre - Bloc-notes"
    hwnd = FindWindow(vbNullString, Voir_Fenêtre)
     
    If hwnd = 0 Then Exit Sub
    SetForegroundWindow hwnd
    ShowWindow hwnd, SW_SHOWDEFAULT
    End Sub
    Pour l'instant j'essaye de faire fonctionner ce code avec une simple fenêtre du bloc notes. Cependant ma variable hwnd prend la valeur 0 alors que ma fenêtre bloc notes est ouverte.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2013] Comment lire un fichier avi dans une fenêtre excel via vba
    Par coy76 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/07/2015, 11h08
  2. afficher une image dans une fenêtre windows
    Par yashiro dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 02/05/2006, 16h30
  3. Comment exécuter une API windows via php ?
    Par mikemead dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 31/03/2006, 10h19
  4. [VBA] [ACCESS] Accès à une requete Access via VBA
    Par Yanmeunier dans le forum Access
    Réponses: 3
    Dernier message: 16/03/2006, 11h48
  5. Réponses: 4
    Dernier message: 24/06/2005, 14h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo