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 :

[VBA-E] Problème API FindWindowA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 74
    Par défaut [VBA-E] Problème API FindWindowA
    bonjour,
    je souhaiterais récupérer le handle d'une feuille Xls. Via cette api, j'obtiens sans problème celui de l'application :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Handle = FindWindowA(vbNullString, Application.Caption)
    ou bien celui d'un formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Handle = FindWindowA(vbNullString, UserForm.Caption)
    Mais je n'arrive pas pour une feuille. Les feuilles n'ont pas de propriété Caption il me semble, j'ai essayé avec Name, mais sans succès.

    Qu'en pensez-vous?
    Stos

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    En déclarant ainsi FindWindowA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Public Declare Function FindWindow Lib "User32" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    on peut faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MsgBox Handle = FindWindow(vbNullString, ActiveSheet.Name)
    MsgBox Handle = FindWindow(vbNullString, Sheets("Feuil1").Name)
    mais j'ignore si ça répond à ton problème
    Tu dis

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 74
    Par défaut
    en fait, le but du jeux est d'utiliser l'API ScreenToClient qui donne le position de la souris par rapport à un cadre donné:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Declare Function ScreenToClient Lib "User32" ( _
        ByVal hwnd As Long, _
        lpPoint As POINTAPI) As Long
    Pour cela, il faut le handle de la feuille. Je pense le récupérer en utlisant FindWindow:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Public Declare Function FindWindow Lib "User32" Alias "FindWindowA" _
      (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    J'utilise donc le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    GetCursorPos pos
    Handle = FindWindow(vbNullString, ActiveSheet.Name) 'Application.Caption)
    ScreenToClient Handle, pos
    Le problème est que ça marche pas super :
    Si j'utilise Application.Caption, les coordonnées (0,0) se situent en haut à gauche de la fenêtre Excel.
    Si j'utilise ActiveSheet.Name, bizarement, les coordonnées (0,0) se situent en haut à gauche de l'écran.

    Et je souhaiterais avoir mon origine (0,0) en haut à gauche de la feuille ...
    Stos

Discussions similaires

  1. [VBA-E] Problème Action "Autofill"
    Par beurnoir dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/11/2005, 15h38
  2. [VBA-A] Problème Suppression enreg en cours
    Par _developpeur_ dans le forum Access
    Réponses: 2
    Dernier message: 17/10/2005, 20h08
  3. VBA ... CurrentRecord ... Problème d'utilisation
    Par snoopy69 dans le forum Access
    Réponses: 7
    Dernier message: 17/10/2005, 10h53
  4. [VBA] [WORD] problèmes avec NUMPAGES
    Par meufeu dans le forum VBA Word
    Réponses: 9
    Dernier message: 08/08/2005, 16h24
  5. VBA Importation problème d'INUPUT BOX
    Par snoopy69 dans le forum Access
    Réponses: 8
    Dernier message: 21/12/2004, 16h36

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