J'ai trouvé ce bout de code sur Internet mais j'obtiens un message d'erreur à l'exécution.

Dans un module:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
#If Win64 Then
  Public Declare PtrSafe Function GetAsyncKeystate Lib "user32" _
  (ByVal vKey As Long) As Integer
 
#Else
  Public Declare Function GetAsyncKeystate Lib "user32" _
  (ByVal vKey As Long) As Integer
#End If
Puis, dans un module de classe:
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 Sub SpnClt_SpinDown()
Dim LaValeur As Single
Dim Pas As Single
 
LaValeur = Format(Épurer(TablListÉcrit(Index).TxtCtl.Value, Décimale), "#0.00") 'Fonction maison
 
If GetAsyncKeystate(&H10) Then      'Shift
    Pas = -0.1
ElseIf GetAsyncKeystate(&H11) Then  'Ctrl
    Pas = -1
ElseIf GetAsyncKeystate(&H12) Then  'Alt
    Pas = -10
Else
    Pas = -0.01
End If
 
If LaValeur > 0 Then LaValeur = LaValeur - Pas
If LaValeur < 0.01 Then LaValeur = 0
TablListÉcrit(Index).TxtCtl.Value = Format(LaValeur, "#0.00")
 
End Sub
Le message d'erreur:
Nom : Erreur GetAsyncKeystate.jpg
Affichages : 385
Taille : 7,8 Ko

Que se passe-t-il? Merci de votre aide.