---Soumis par Jason Looney---
Sensibiliser les champs numériques, et de date, aux clés plus et moins.
Parfois, on est intéressé à utiliser les clés + et - comme opérateur pour accroître ou décroître de une unité un champ numérique, ou une date.
Vous pouvez appeler cette fonction, à l'intérieur de la procédure événementielle KeyPress, du contrôle désiré, pour obtenir l'effet annoncé.
'**************** Code Start ************** 'Code Courtesy of 'Jason Looney ' Public Function PlusMinus(intKey As Integer, strFormName As String, Optional _ strSubformName As String = "", Optional strSubSubFormName As String = "") _ As Integer 'Permet d'accroître ou de décroître un champ, d'une unité, par l'utilisation de + ou du - 'Exemple d'utilisation (à l'intérieur du Keypress event): ' Call PlusMinus(KeyAscii, Me.Name) ' Call PlusMinus(KeyAscii, Me.Parent.Name, Me.Name) ' Call PlusMinus(KeyAscii, Me.Parent.Parent.Name, Me.Parent.Name, Me.Name) On Error GoTo TheHandler Dim ctl As Control If strSubformName <> "" Then If strSubSubFormName <> "" Then Set ctl = Forms(strFormName).Controls(strSubformName).Form.Controls(strSubSubFormName).Form.ActiveControl Else Set ctl = Forms(strFormName).Controls(strSubformName).Form.ActiveControl End If Else Set ctl = Forms(strFormName).ActiveControl End If ctl = CDate(ctl) Select Case intKey Case Is = 43 'la clé '+' ctl = ctl + 1 intKey = 0 Case Is = 45 'la clé '-' ctl = ctl - 1 intKey = 0 Case Is = 61 'le '='/'+' à coté du "backspace" (retour d'un caractère) ctl = ctl + 1 intKey = 0 End Select ExitHandler: PlusMinus = intKey Set ctl = Nothing Exit Function TheHandler: Select Case Err.Number Case Is = 94 'Invalid use of null Case Is = 13 'Type mismatch Case Else MsgBox Err.Number & ": " & Err.Description intKey = 0 End Select Resume ExitHandler End Function '**************** Code End **************