Saisie protegee

Résolu
cs_felipe99 Messages postés 6 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 19 avril 2007 - 19 avril 2007 à 17:56
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 19 avril 2007 à 23:10
Je cherche a faire une saisie protegee dans une TextBox.
Je veux que l'utilisaeur puisse entrer uniquement des chiffres et des points.
Je crois savoir qu'il y a un moyen rapide de faire cela.
Avez vous une idee ?
Merci pour votre aide 

14 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
19 avril 2007 à 18:05
Salut,

Private Sub Txt_détails_KeyPress(KeyAscii As Integer)


' On autorise que des chiffres
     If Not IsNumeric(Chr(KeyAscii)) And KeyAscii = 183 Then
           KeyAscii = 0
    End If
 End Sub


A+
Exploreur


 
3
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
19 avril 2007 à 18:47
Violent Ken
Salut, autre possibilité :

Private Sub Text1_KeyPress(KeyAscii As Integer)
   If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 46 Then KeyAscii = 0
End Sub , ----
By Renfield

@+

Hex Editor VB
3
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 25
19 avril 2007 à 21:57
violent_ken> Rien n'empêche l'utilisateur de rentrer plusieurs points. Il faut que tu fasses un mix avec Exploreur pour que le résultat soit vraiment numérique.

... Sauf si le contenu de la textbox doit être une IP, auquel cas felipe99 devra se tourner vers les expressions régulières.

Manu

--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 avril 2007 à 22:28
Hello ,

Mais à condition que l'on ne saisisse que des nombres (pas de genre IP, donc.000)

on parie que j'y parviens sans keypress ? (avec l'événement change, en plus .... truc de fou...) ?

Qui parie ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 avril 2007 à 22:30
Et, en prime, en empêchant tout copié-collé qui ne serait pas cohérent
0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
19 avril 2007 à 22:31
Violent Ken
econs ==> tu as raison, mais felipe99 avait dit "uniquement des chiffres et DES points." ;)

jmfmarques ==> lol, tu veux balancer du vbKeyBack dans le .Text ?? ^^

@+

Hex Editor VB
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 avril 2007 à 22:33
Non, violent, non... je veux juste m'amuser...
Tu paries ou pas ?
0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
19 avril 2007 à 22:39
Violent Ken
Oui, j'avais bien compris, mais dans l'event Change() le texte est déjà modifié. Donc pour enlever les caractères mauvais qui viennent d'être tappés, faut bien jouer avec le vbKeyBack ?

Je parie pas que tu le fais pas, sinon je vais perdre ^^
@+

Hex Editor VB
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
19 avril 2007 à 22:40
Bonsoir à tous,

Moi, si vous acceptez, je parie Jmfmarques....Euh on parie quoi  

A+
Exploreur

 
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 avril 2007 à 22:47
Il faut toujours se méfier des cinglés, mes agneaux !!...
J'avais pourtant prévenu !
Ici :
http://www.vbfrance.com/infomsg_UTILISATION-EXPRESSION-REGULIERE-POUR-AUTORISER-SAISIE-CARACTERE-NUMERIQUE_924494.aspx

Et j'avais fait (acceptant en plus l'effacement arrière et la virgule, que je viens de supprimer pour les besoins de cette discussion) :

Alors voilà , comme promis, avec l'événement change, effacement arrière compris, que des numériques acceptés... pas de copier-coller incohérent possible ....
Je le répète : valable uniuquement pour des nombres, bien sur... pas des formatages type IP, hein ...
Prêts !
Vlan la secousse du fou :

Private Sub Text1_Change()
  Static titi As String
  If Not IsNumeric(transform(Text1) & "1") Then
    Text1.Text = titi
    Text1.SelStart = Len(Text1.Text)
  End If  If InStr(Text1.Text, ",") > 0 Then Text1.Text titi: Text1.SelStart Len(titi): Exit Sub
  titi = Text1.Text
End Sub


Private Function transform(ctrl As TextBox)
  titi = ctrl.Text
  For i = 1 To Len(titi)
    If Mid(titi, i, 1) = "." Then
       Mid(titi, i, 1) = ","
    End If
  Next
  transform = titi
  DoEvents
End Function




Hé hé !.....
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
19 avril 2007 à 22:53
Ralalalal....lol...Il y une chose ou j'avait juste, c'est que je partais aussi sur une variable en Static...Mais pour le reste j'ai tout faut...Pfff...Snifff

A+
Exploreur

 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
19 avril 2007 à 22:58
Bonsoir,

D'ailleurs, ton petit bout de code sympa, je vais me le gardé sous le clavier, dans le cas où....

A+
Exploreur

 
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 avril 2007 à 23:02
J'ai posé une question ailleurs (lien cité plus haut)...
J'attends simplement, ...
D'autant que j'ai fait de même avec les dates... encore que j'en suis encore à perfectionner ce dernier...
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
19 avril 2007 à 23:10
Bonsoir Jmfmarques,

Un avis personnel qui n'engage que moi bien sur, dans le lien tu dis :

<< Déposer un simple "snippet" serait insuffisant car il me faut accompagner le tout d'explications et l'assortir de certains commentaires relatifs à l'utilisation ....>> 

Pourquoi ? Un snippet peut-être sympa sur ce point, car comme tu le dit, c'est une question qui revient souvent sur le forum....

De plus, on aura plus cas mettre le lien de ton snippet la prochaine fois...lol....

A+
Exploreur

 
0
Rejoignez-nous