[excel 2007 vba] Textbox saisie
Fermé
florian
-
17 juin 2010 à 09:32
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 17 juin 2010 à 10:18
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 17 juin 2010 à 10:18
A voir également:
- [excel 2007 vba] Textbox saisie
- Liste déroulante excel - Guide
- Save as pdf office 2007 - Télécharger - Bureautique
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
1 réponse
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
Modifié par Polux31 le 17/06/2010 à 10:19
Modifié par Polux31 le 17/06/2010 à 10:19
Bonjour,
La solution n'est pas de tester la saisie sur l'évènement KeyPress() mais sur l'évènement Change() du TextBox. Par exemple:
J'ai fait une fonction qui effectue le contrôle, ce qui permet d'effacer et de recommencer sans problème et de l'utiliser pour d'autres Textboxes le cas échéant.
;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
La solution n'est pas de tester la saisie sur l'évènement KeyPress() mais sur l'évènement Change() du TextBox. Par exemple:
Private Sub TextBox1_Change() If CtrlSaisie(TextBox1.Text) = False Then TextBox1.Text = Mid(TextBox1.Text, 1, Len(TextBox1.Text) - 1) End If End Sub Public Function CtrlSaisie(ByVal str As Variant) As Boolean Dim i As Long Dim c As Variant Dim trouve As Integer trouve = 0 For i = 1 To Len(str) c = Mid(str, i, 1) If c = "," Then trouve = trouve + 1 Next i If trouve > 1 Then CtrlSaisie = False Exit Function End If For i = 1 To Len(str) c = Mid(str, i, 1) If Not IsNumeric(c) And c <> "," Then CtrlSaisie = False Exit Function End If Next i CtrlSaisie = True End Function
J'ai fait une fonction qui effectue le contrôle, ce qui permet d'effacer et de recommencer sans problème et de l'utiliser pour d'autres Textboxes le cas échéant.
;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau