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:
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,