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 :

Vérifier si un programme est ouvert


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juillet 2006
    Messages : 60
    Points : 32
    Points
    32
    Par défaut Vérifier si un programme est ouvert
    J'ai plusieurs application qui roule sur mon ordi (Excel,explorer,et un programme qui ce nomme AlarmeViewer.exe)

    A partir d'un bouton de excel, j'aimerais activer (maximiser) mon programme Alarmeviewer.exe s'il est déja ouvert et s'il est fermer, tout simplement l'ouvrir. ce que je veux éviter, est d'ouvrir plusieurs fois mon programme Alarmeviewer.exe.

    Quelequ'un peut m'aider ?

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 150
    Points
    20 150
    Par défaut
    bonjour


    Cet exemple à adapter vérifie si la calculatrice est déjà ouverte, l'affiche au premier plan et sinon déclenche l'ouverture de l'application.
    La procédure ne doit pas être déclenchée depuis l'éditeur de macros.


    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
    35
    Option Explicit
     
    Private Declare Function BringWindowToTop Lib "user32" _
        (ByVal Hwnd As Long) As Long
     
    Private Declare Function FindWindow Lib "user32" Alias _
        "FindWindowA" (ByVal lpClassName As String, _
        ByVal lpWindowName As String) As Long
     
    Private Declare Function ShowWindow Lib "user32" _
        (ByVal Hwnd As Long, ByVal nCmdShow As Long) As Long
     
     
    'Remarque importante:
    'La procédure ne doit pas être déclenchée depuis l'éditeur de macros /!\
    '
    Sub ApplicationPremierPlan()
        Dim Hwnd As Long
     
        'Récupère le Handle d'une fenêtre (la calculatrice dans cet exemple).
        'Le Handle est un nombre entier unique généré par Windows afin d'identifier les fenêtres.
        '"Calculatrice" correspond au titre de la fenêtre.
        Hwnd = FindWindow(vbNullString, "Calculatrice")
     
        'Si la calculatrice est déjà ouverte
        If Hwnd > 0 Then
            'Ramène la calculatrice au premier plan
            BringWindowToTop Hwnd
            'Affiche en mode "Normal"
            ShowWindow Hwnd, 1
            Else
            'Sinon, ouvre la calculatrice
            Shell "C:\WINDOWS\system32\calc.exe", vbNormalFocus
        End If
    End Sub

    bonne journée
    michel

Discussions similaires

  1. Réponses: 89
    Dernier message: 28/01/2012, 00h20
  2. Vérifier que le programme est ouvert
    Par Loenix dans le forum Programmation multimédia/Jeux
    Réponses: 2
    Dernier message: 14/05/2009, 16h50
  3. Vérifier si calc windows est ouverte ou pas???
    Par electrosat03 dans le forum Contribuez
    Réponses: 4
    Dernier message: 10/03/2006, 20h28
  4. Vérifier qu'un formulaire est ouvert
    Par com800 dans le forum WinDev
    Réponses: 2
    Dernier message: 07/04/2005, 21h27
  5. Vérifier si une form est ouverte
    Par nivet dans le forum Langage
    Réponses: 6
    Dernier message: 23/11/2004, 10h17

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