Les Snippets

Connexion

TextBox Numerique Seulement

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 25/03/2006 22:58:11 et initié par EBArtSoft [Liste]
Vue : 16362
Catégorie(s) : API, Trucs & Astuces, WinForm, Control
Langages dispo pour ce code :
- VB6
- VBA
- Javascript
- Java
- Voir tous les langages pour ce code snippet



Langage : VBA
Date ajout : 14/03/2007
Posté par Drikce06 [Liste]
'Vérifie si la valeur saisie dans le textbox est numérique en même temps que la saisie
'Déclaration des Api
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As LongByVal LCTYPE As LongByVal lpLCData As StringByVal cchData As LongAs Long
Private Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As LongByVal LCTYPE As LongByVal lpLCData As StringAs Long
Private Declare Function GetUserDefaultLCID Lib "kernel32" () As Long
'Déclaration de la constante séparateur décimal
Private Const LOCALE_SDECIMAL = &HE
Dim Separateur As String
 Public Sub numerique(ByVal KeyAscii As MSForms.ReturnInteger, ByVal Text As String)
 
'Si le caractère n'est pas numérique ou pas le séparateur de décimal, on annule l'appui sur la touche
If Not IsNumeric(Chr(KeyAscii)) And CStr(Chr(KeyAscii)) <> Separateur Then KeyAscii = 0
'Si le caractère est le séparateur de décimal mais celui-ci a déjà été saisi, on annule l'appui sur la touche
If Chr(KeyAscii) = Separateur And InStr(1, Text, Separateur, vbTextCompare) = 2 Then KeyAscii = 0
   End Sub
'récupère le séparateur de décimal dans les options régionales
Public Property Get DecimalSeparator() As String
Dim nLength As Long
Dim nLocale As Long
    nLocale = GetUserDefaultLCID()
    nLength = GetLocaleInfo(nLocale, LOCALE_SDECIMAL, vbNullString, 0) - 1
    DecimalSeparator = Space$(nLength)
    GetLocaleInfo nLocale, LOCALE_SDECIMAL, DecimalSeparator, nLength
    
End Property
'***Exemple d'utilisation
Public Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Separateur = DecimalSeparator()
Call numerique(KeyAscii, TextBox1.Text)
End Sub

Snippets en rapport avec : Textbox, Numerique



Codes sources en rapport avec : Textbox, Numerique

{C# / C#.NET} TEXTBOX NUMERIQUE (NUMBOX)
Ceci est juste une petite classe héritée d'un TextBox utilisable pour la saisie de valeurs numerique...

{Visual Basic, VB6, VB.NET, VB 2005} TEXTBOX EVOLUTION
Voici une TextBox un peu plus évoluée que celle de VB Possibilité de définir les caractères autor...

{Visual Basic, VB6, VB.NET, VB 2005} TEXTBOX NUMERIQUE
Cause: crée pour un logiciel personnel , je le transmet à tout le monde C'est un OCX .On rentre les...

{C# / C#.NET} TEXTBOX NUMÉRIQUE
Comme cette question revient sans cesse dans le forum, voici comment créer une textbox n'acceptant q...

{Visual Basic, VB6, VB.NET, VB 2005} LIMITER LA SAISIE À CERTAINS CARACTÈRES/TOUCHES DANS UN TEXTBOX EN VB.NET
Voila, c'est encore une source assez simple, mais qui pourra surement depanner certains... les meth...

{Visual Basic, VB6, VB.NET, VB 2005} METTRE UNE VALEUR À L'ENSEMBLE DES CONTROLES D'UN MÊME TYPE
Sauf erreur, il n'y a pas dans VB2008 (VB.NET) de la même facilité de faire une collection avec les ...

{Visual Basic, VB6, VB.NET, VB 2005} MANIPULER LES CHAÎNES ET TRIER UNE LISTE DE NOMS
Ecrite en Visual Basic 2008, ne sera pas lue par les versions antérieures, mais Microsoft fourni VB ...

{C# / C#.NET} TEXTBOX SÉQUENCE DE TOUCHES.
Voici un contrôle qui peut etre interessant à utiliser si vous avez besoin d'enregistrer et/ou d'exp...

{Visual Basic, VB6, VB.NET, VB 2005} PICTURE DRAG DROP
Comment déplacer ou copier une image d'une PictureBox à une autre,ainsi que les Treeview ,les ListBo...

{Visual Basic, VB6, VB.NET, VB 2005} DÉFINIR TOUS LES CONTRÔLES D'UN USERFORM EN TANT QUE VARIABLES DANS UN TABLEAU (ARRAY)
il est parfois fastidieux et surtout très long d'écrire textbox1.value="xxx" textbox2.value="yyy"...