begin process at 2012 02 13 01:08:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Texte

 > TEXTBOX NUMÉRIQUE (LE + SIMPLE) VERSION AMÉLIORÉ AVEC BACKSPACE QUI FONCTIONNE

TEXTBOX NUMÉRIQUE (LE + SIMPLE) VERSION AMÉLIORÉ AVEC BACKSPACE QUI FONCTIONNE


 Information sur la source

Note :
7,2 / 10 - par 5 personnes
7,20 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Texte Niveau :Débutant Date de création :06/02/2002 Date de mise à jour :09/02/2002 21:17:54 Vu :4 655

Auteur : Arkko

Ecrire un message privé
Site perso
Commentaire sur cette source (21)
Ajouter un commentaire et/ou une note

 Description

Bein c'est pas tres compliquer on ne peut ecrire que des chiffres dans un textbox. En plus il prend en charge le backspace (effacer).

Source

  • Private Sub text1_keyPress(KeyAscii As Integer)
  • If Chr(KeyAscii) = "." Then KeyAscii = Asc(",") ' detecte le point et la virgule et remplace
  • 'le point par une virgule
  • If KeyAscii = 8 Then 'Regarde si appuyer sur BACKSPACE
  • KeyAscii = 8 ' Si oui ... On efface
  • Else
  • If InStr("0123456789.,", Chr(KeyAscii)) = 0 Then 'contrôle de saisie
  • KeyAscii = 0 'caractère incorect, donc il ne s'ecrit pas
  • End If
  • End If
  • End Sub
Private Sub text1_keyPress(KeyAscii As Integer)
If Chr(KeyAscii) = "." Then KeyAscii = Asc(",") ' detecte le point et la virgule et remplace
'le point par une virgule
If KeyAscii = 8 Then 'Regarde si appuyer sur BACKSPACE
KeyAscii = 8 ' Si oui ... On efface
Else
If InStr("0123456789.,", Chr(KeyAscii)) = 0 Then 'contrôle de saisie
KeyAscii = 0 'caractère incorect, donc il ne s'ecrit pas
End If
End If
End Sub

 Conclusion

Enfin corrigé ... j'espere que vous allez l'aimer


 Sources du même auteur

Source avec une capture UNE APPLICATION AUTONOME
VERIFIER SI UN TEXT BOX CONTIENT DU TEXTE
SURVEILLEZ MODIFICATION DE TEXTE
Source avec Zip ENREGISTRER UN GIF SANS CONVERTISEUR.

 Sources de la même categorie

Source avec Zip Source avec une capture MASQUE DE SAISIE NUMÉRIQUE par acive
Source avec Zip Source .NET (Dotnet) COMPTEUR DE NOMBRE DE MOTS DANS UN TEXTE par alpha5
Source avec Zip Source avec une capture HM - BLOCNOTE par hassenmajor
Source .NET (Dotnet) [VB.NET] CLASS DE COLORATION SYNTAXIQUE "ON THE FLY" par huzima
Source avec Zip Source avec une capture PERSONNALISEZ VOS BOÎTES DE MESSAGE (X)HTML par medjahedScript

Commentaires et avis

Commentaire de Nox le 06/02/2002 03:56:16

mwais... c simple et efficace... mais c pas du gros code! ;p

7/10

Commentaire de roswell117 le 06/02/2002 11:15:14

c pas du gros code et en plus c FAUX
c un code k'a pas été testé apparemment car la déclaration est fausse, pr keyPress, il faut ke KeyAscii, t'as pas besoin index sinon, ca fait une erreur dès le début du programme

Désolé

Commentaire de Stephane le 06/02/2002 12:00:32

salut

voila ma correction :

Private Sub text1_keyPress( KeyAscii As Integer)
If InStr(1,"0123456789", Chr$(KeyAscii)) = 0 Then 'contrôle de saisie
KeyAscii = 0 'caractère incorect, donc supression
End If

End Sub

t'as oublié le 1, devant qui définit l'endroit a partir d'où l'ordi va rechercher. A rajouter aussi si l'on veut autoriser les nombres decimals, un point (.) et une virgule (,) comme ca :

Private Sub text1_keyPress( KeyAscii As Integer)
If InStr(1,"0123456789.,", Chr$(KeyAscii)) = 0 Then 'contrôle de saisie
KeyAscii = 0 'caractère incorect, donc supression
End If

End Sub

voila

a+

Commentaire de roswell117 le 06/02/2002 12:12:44

Stephane, pr la fonction Instr(), si tu veut commencer du début, tu peut ne rien mettre, le 1 est sous-entendu.

Roswell117

Commentaire de thrakkazz2000 le 06/02/2002 12:53:26

c'est une habitude de faire du copier coller ?

Commentaire de Arkko le 06/02/2002 15:52:29

Désolé j'Avais oublier de corriger cela ... j'ai fait un copiercoller d'une partie de mon prog qui se sert des index ... désolé je vais le corriger ce soir

Commentaire de Arkko le 06/02/2002 15:56:44

Mais je viens de tester pis ca marche pareil ...

Commentaire de jbosss le 06/02/2002 20:07:04

comment pourrait-on faire pour  que, si l'utilisateur tape "." (un point), le prog le remplace par une virgule ?
De plus, avec cette fonction, la touche "Del" est inactive...dommage
Merci!

Commentaire de roswell117 le 07/02/2002 00:55:00

Pr remplacer "." par une virgule et activer le "Del", tu peut faire :

if Chr(Keyascii)="." then Keyascii=Asc(",")
If InStr("0123456789.,", Chr(Keyascii))=0 Or Keyascii=9 then ' 9 est le code pr 'Del'
Keyascii=0
End If

Commentaire de roswell117 le 07/02/2002 00:56:29

heu, dsl, ds le message faut lire "Keyascii<>9" et non pas "Keyascii=9"

Mea Culpa

Commentaire de Stephane le 09/02/2002 14:55:43

arkko

a ok je savais pas que c'etait facultatif le 1 mais y a kan meme un truc qui me
dérange c'est que meme si c'etait facultatif il faudrait une virgule avant la liste "123
comme ca

if instr(,"123 etc...

enfin si ca marche c'est le principal
a+

Commentaire de GMI le 20/04/2002 00:21:27

Je vous invite à regarder l'article http://www.vbfrance.com/article.asp?Val=640
En effet :
- On peut limiter la saisie à un champs numérique
- On détecte le séparateur décimal windows ( ce n'est pas tjs la virgule !!)
- On peut limiter la saisie à un ensemble de caractère ( par ex "advfgGFR")
- Ecris dans un module, le code peur servir dans tous le projet
- Il n' y a pas d'API, pour ceux qui ne les aiment pas.

Commentaire de Dalida le 07/09/2002 15:23:56

arretes de GMIr, on l'a vu ton source...
lol

Commentaire de Keman le 19/05/2003 21:11:54

SUPER!!!! j'avais vraiment besoin d'un vbut de code comme celui ci!

Merci !!!

Commentaire de ICIoBRa le 05/10/2003 16:56:25

Private Sub txtCar_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then KeyAscii = 8 Else: If InStr("0123456789", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub

Commentaire de skyzofrenzz le 15/09/2004 19:18:47

Exelent !!! 10/10 ca marche tres bien !!! moi c la virgule que je remplace par un point LOL....

Allez encore merci

Commentaire de skyzofrenzz le 15/09/2004 19:41:01

roswell117 tu est noob

Commentaire de Talere le 21/12/2005 09:07:37

Je peux te suggérer cette solution qui, en plus permet de gérer le séparateur décimale :

Private Sub Limite_CMJ_BDL_KeyPress(KeyAscii As Integer)
separateur = Mid$(Format$(0, "0.0"), 2, 1)
If Chr(KeyAscii) = "." And separateur <> "." Then KeyAscii = Asc(separateur)
If Chr(KeyAscii) = "," And separateur <> "," Then KeyAscii = Asc(separateur)
'le point par une virgule
If KeyAscii = 8 Then 'Regarde si appuyer sur BACKSPACE
    KeyAscii = 8 ' Si oui ... On efface
    Else
    If InStr("0123456789.,", Chr(KeyAscii)) = 0 Then 'contrôle de saisie
        KeyAscii = 0 'caractère incorect, donc il ne s'ecrit pas
    End If
End If
End Sub

Commentaire de Le Prince Dragon le 29/01/2007 15:54:47

Super code,
il m'a boucoups servit

Commentaire de berreqia le 19/02/2008 16:32:16

Une correction du code de ROSEWLL mais si c'est un peu trop tard lol :)

Private Sub Text7_KeyPress(KeyAscii As Integer)
       If (InStr("0123456789-", Chr(KeyAscii)) = 0) And (KeyAscii <> 8) Then KeyAscii = 0
End Sub

Commentaire de imparator_42 le 30/03/2008 00:17:58

Et pour effacer ?

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales