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 :

Problème avec GetAsyncKeyState


Sujet :

Macros et VBA Excel

  1. #1
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Par défaut Problème avec GetAsyncKeyState
    Bonjour,

    J'ai développé une fonctionnalité sous Excel qui permet de faire de la saisie semi-automatique dans des userforms avec un code assez simple dans l'ensemble qui a très bien fonctionné :
    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
    Private Declare PtrSafe Function GetAsyncKeyState Lib "user32" (ByVal vKey As Integer) As Integer
     
    Sub TestTouche()
        Dim rng As Range
        Dim i   As Long
     
        If (GetAsyncKeyState(8) <> 0) Then
     
        Else
            i = Len(F_USF.txt_truc.Value)
            Set rng = f_data.Range("J2:J" & f_data.Range("A65536").End(xlUp).Row).Find(F_USF.txt_truc.Value & "*", , , xlWhole)
     
            If rng Is Nothing Then
                F_Observations.txt_observation.SelLength = 0
            Else
                F_USF.txt_truc.Value = f_data.Range("J" & f_data.Range("J2:J" & f_data.Range("A65536").End(xlUp).Row).Find(F_USF.txt_truc.Value & "*", , , xlWhole).Row)
                F_USF.txt_truc.SelStart = i
                F_USF.txt_truc.SelLength = Len(F_USF.txt_observation.Value) - i
            End If
        End If
    End Sub
    L'application Excel tourne, malheureusement, sur un Seven 64 bits et j'ai donc besoin du "ptrsafe" pour le "GetAsyncKeyState ".
    Cependant, depuis une mise à jour Windows de décembre 2014, cette déclaration provoque une erreur et je ne vois pas comment corriger ce problème...

    Je suis preneur de toute solution.

    Cordialement,

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #if Win64 then
                 Private Declare PtrSafe Function GetAsyncKeyState Lib "user32" (ByVal vKey As Integer) As Integer
    #else
                 Private Declare  Function GetAsyncKeyState Lib "user32" (ByVal vKey As Integer) As Integer
    #end if

  3. #3
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Par défaut
    Bonjour,

    Merci pour la réponse mais je ne pense pas que cela résolve mon problème malheureusement.
    Le poste concerné est sur 64 bits et avec le "ptrsafe", cela plante (comme mentionné précédemment, cela a été mis, initialement, pour ce poste).

    Cordialement,

  4. #4
    Invité
    Invité(e)
    Par défaut
    et comme ça?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Private Declare PtrSafe Function GetAsyncKeyStateA Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As LongPtr) As Integer

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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