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 : 20521
Catégorie(s) : API, Trucs & Astuces, WinForm, Control
Langages dispo pour ce code :
- VB6
- VBA
- Javascript
- Java
- VB 2005, VB 2008
- 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} CONTROLS PERSONALISÉ TEXTBOX
En ayant marre à chaque dois de devoir gérer l'événement KeyPress pour empêcher un certain type de s...

{Visual Basic, VB6, VB.NET, VB 2005} COMPILATEUR EN VB NET 2003
Ce programme permet de taper une formule mathématique et de l'executer. il comporte une textbox ou ...

{Visual Basic, VB6, VB.NET, VB 2005} CALCULE HEURES DE NUIT 2
VOICI ENFIN LA DEUXIÈME VERSION DE MON APPLICATION SUR LE CALCUL D HEURES .J AI CRÉE UN APERÇU ET D ...

{Visual Basic, VB6, VB.NET, VB 2005} LABEL ET IMAGE DANS TEXTBOX
une petite classe qui améliore la TextBox on ajoute un background label et une background picture ...

{Visual Basic, VB6, VB.NET, VB 2005} CALCUL DES HONORAIRES CAC
Ce programme permet de calculer les honoraires CAC d'une mission de commissariat aux comptes dans mo...