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 en cours d'execution [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 40
    Points : 23
    Points
    23
    Par défaut Vérifier si un programme est en cours d'execution
    Bonjour à tous,

    Je souhaiterai savoir si il est possible d'analyser qu'un certain programme est en cours d’exécution, j'ai vu qu'en VB.net cela était possible mais aucune piste concernant le VBA.

    En fait j'ai une application java qui tourne et j'aimerai qu'avant chaque macro, un code vérifie si l'application est déjà lancée ou non. Si ce n'est pas le cas alors la macro lance l'application.

    Merci d'avance !

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, voir par exemple sur http://www.developpez.net/forums/d99...outlook-lance/ et adapter à ton contexte

  3. #3
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Avec des Api :
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    Public Declare Function GetWindowText _
                   Lib "user32" _
                   Alias "GetWindowTextA" ( _
                   ByVal hWnd As Long, _
                   ByVal lpString As String, _
                   ByVal cch As Long) As Long
     
    Public Declare Function EnumWindows _
                   Lib "user32" ( _
                   ByVal lpEnumFunc As Long, _
                   ByVal lParam As Long) As Long
     
    Dim Ouvert As String
    Dim NomProg As String
     
    'proc de test, à adapter :
    Sub Test()
     
        Dim lResult As Long
     
        NomProg = "Word" 'cherche si Word est ouvert
     
        lResult = EnumWindows(AddressOf ProgrammeOuvert, 0&)
     
        MsgBox Ouvert
     
    End Sub
     
    'cherche dans le titre des fenêtres le nom du programme
    Public Function ProgrammeOuvert(ByVal hWnd As Long, _
                                    ByVal lgParam As Long) As Long
     
        Dim Buffer As String
        Dim Result As Long
     
        Buffer = Space(255)
     
        Result = GetWindowText(hWnd, Buffer, 255)
     
        If Left(Buffer, 1) <> Chr(0) Then
     
            'non sensible à la casse (UCase)
            If InStr(UCase(Trim(Buffer)), UCase(NomProg)) <> 0 Then
     
                Ouvert = NomProg & " est ouvert !"
     
                Exit Function
     
            Else
     
                Ouvert = NomProg & " est fermé !"
     
            End If
     
        End If
     
        ProgrammeOuvert = 1
     
    End Function
    Hervé.

    Et pour bien te former, les cours et tutoriels pour apprendre Excel : https://excel.developpez.com/cours/

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 40
    Points : 23
    Points
    23
    Par défaut
    Merci Theze,

    En fait je voulais essayer ce code ci mais ca cause beaucoup trop de problème. Trop instable avec une application java, j'ai donc fais 2 macros, une avec login et une autre sans.

    Ceci dit ton code marche parfaitement mais dans mon cas, la macro est déjà super ingérable (tout du sendkeys) :s alors je vais éviter de tout rendre automatique en cas d'erreur.

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

Discussions similaires

  1. Vérifier que le programme est ouvert
    Par Loenix dans le forum Programmation multimédia/Jeux
    Réponses: 2
    Dernier message: 14/05/2009, 15h50
  2. vérifier si un programme est en cours d'éxécution
    Par Jasmine80 dans le forum Langage
    Réponses: 11
    Dernier message: 15/02/2009, 14h44
  3. Vérifier si un programme est ouvert
    Par wonderboutin123 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/02/2008, 11h36
  4. [MySQL] Vérifier si une données est en cours
    Par namstou3 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 24/08/2007, 17h21
  5. [PHP-JS] Vérifier si un script est en cours d'exécution
    Par renaudjuif dans le forum Langage
    Réponses: 7
    Dernier message: 14/02/2007, 02h41

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