Petit probème en VB

Reservoir_Dogs Messages postés 3 Date d'inscription dimanche 6 août 2006 Statut Membre Dernière intervention 7 août 2006 - 7 août 2006 à 00:59
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008 - 7 août 2006 à 17:10
J'ai vraiment besoin d'aide. Dans mon programme, il y a une zone de texte qui sert à l'utilisateur a s'inscrire. Quand il clique sur le boutton inscription, le code doit empècher la zone de texte de contenir une valeur numérique. Alors moi j'ai ecrit:






Private Sub Cmd_Effacer_Click()

'Vider les zones de texte Nom d'utilisateur et Mot de passe.

    Txt_User.Text = ""
    Txt_Password.Text = ""
   
    Txt_User.SetFocus

End Sub

Private Sub Cmd_Inscription_Click()

' Définition des variables

    Num_Fichier = FreeFile
    Id_Utilisateur = Txt_User.Text
    Password_Utilisateur = Txt_Password.Text

   
'Vérification du contenu de la zone de texte Utilisateur

    If Id_Utilisateur = "" Then
   
    MsgBox " Vous devez saisir un nom d'utilisateur ! ", vbInformation, " Erreur! "
   
    Txt_User.SetFocus
   
    Exit Sub
   
   
   
  
    ElseIf IsNumeric(Id_Utilisateur) = True Then
   
    MsgBox " Le nom de l'utilisateur ne doit comprendre aucun chiffre ! ", vbInformation, " Erreur! "
   
    Txt_User.SetFocus
   
    Exit Sub
    

   
   
   
    ElseIf Password_Utilisateur = "" Then
   
    MsgBox " Vous devez saisir un mot de passe ! ", vbInformation, " Erreur! "
   
    Txt_Password.SetFocus
   
    Exit Sub
   
  
   
    ElseIf Len(Password_Utilisateur) < 6 Then
   
    MsgBox " Le mot de passe doit contenir plus de 6 caractères ! ", vbInformation, " Erreur!"
   
    Txt_Password.SetFocus
   
    Exit Sub
   
    End If
       
' Ouvrir le fichier Utilisateur.dat .

    Open App.Path & "\Utilisateur.dat" For Append As #Num_Fichier
   
' Implémentation du pseudo-code.
   
    Write #Num_Fichier, Id_Utilisateur, Password_Utilisateur
   
    MsgBox "Inscription terminée!"
     
    Close #Num_Fichier

'Fermer Vérification et Ouvrir Accueil.

    Frm_Vérification.Visible = False
    Frm_Vérification.Enabled = False

    Frm_Accueil.Visible = True
    Frm_Accueil.Enabled = True
   
    Txt_User.Text = ""
    Txt_Password.Text = ""

End Sub

Private Sub Cmd_Quitter_Click()

'Quitter l'application didacticiel.

    Quitter = MsgBox("Voulez-vous vraiment quitter l'application Didacticiel?", vbqusetion + vbYesNo, "Quitter")

    If Quitter = vbYes Then

    End

    Else

    Exit Sub

    End If

    End Sub

' Déclaration des variables
   
    Option Explicit
   
    Dim Aléatoire1 As Integer
    Dim Aléatoire2 As Integer
    Dim Réponse As Integer
    Dim Num_1 As Integer
    Dim Num_2 As Integer
    Dim Symbole As String
    Dim Num_Fichier As Integer
    Dim Id_Utilisateur As String
    Dim Password_Utilisateur As String

Il y a une petit probleme. S'y je met de l'alpha-numérique dans la zone de texte il y a pas de message d'erreur alor que j'en voudrait un.

Svp Quelqu'un pourrait m'aider....

<!-- / message --><!-- edit note -->

11 réponses

diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
7 août 2006 à 01:25
pourquoi quand il click sur le bouton empeche le direct de taper des chiffres ^^ vla le code :

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii >= 48 And KeyAscii <= 57 Then
KeyAscii = 0
MsgBox "Vous avez tentez d'inserez un chiffre cela est interdit !"
End If
End Sub

alors en gros il dit le code si tu presse une touche qui a comme code ascii entre 48 et 57 tu le remplace par le keyascii 0 (donc il annule la frappe) et il affiche un textbox disant comme tu le lis qu'il est interdit de saisir des chiffres dedans ^^ voila ne esperant t'avoir aider :p
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
7 août 2006 à 01:26
Salut, il faut regarder caractère par caractère :

For i = 1 To Len(Id_Utilisateur)
    caract = Mid(Id_Utilisateur, i, 1)
    If IsNumeric(caract) = True Then
        MsgBox " Le nom de l'utilisateur ne doit comprendre aucun chiffre ! ", _
                        vbInformation, " Erreur! "
        Txt_User.SetFocus
        Exit Sub
    End If
Next i

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
7 août 2006 à 01:27
Salut [auteurdetail.aspx?ID=332142 diablamanshadow] !

Excellente idée

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
7 août 2006 à 01:29
merci :-)
je trouve beaucoup plus simple de lui empecher direct l'acces que de lui dire apres non mon grand ses interdit ^^ au moins comme sa le mec a pas le choix et dois s'y contraindre :p moi dans mes prog je fesais comme ca laisser le mec taper puis lui dire j'ai eu pas mal de mail disant que ses chiant etc donc maintenant j'utilise ce code et je le bloque direct (sauf que je met pas de msgbox il a qu'a comprendre ^^)
0

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

Posez votre question
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
7 août 2006 à 01:32
a oui j'oubliais Reservoir_Dogs tu devrais empecher tous sauf les lettres et le back spoace (touche qui efface en arriere) car enlever les chiffres ses bien mais si y met une parenthese ou un % ou koi sa iras pas non plus je pense helas la j'ai pas d'idee j'ai vu sur le fofo une fois un mec qui disais comment faire mais je sais plus ou c'est ;-)
0
Reservoir_Dogs Messages postés 3 Date d'inscription dimanche 6 août 2006 Statut Membre Dernière intervention 7 août 2006
7 août 2006 à 01:38
Merci Beaucoup les gars.

C'est vraiment gentil.

J'avoue, vous êtes fort.

Un jour à force d'en faire j'espere me rendre où vous êtes.
0
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
7 août 2006 à 01:39
suis un ange apres quelques recherche j'ai trouver :D loue moi nan je rigole vla le code :

Private Sub Text1_KeyPress(KeyAscii As Integer)
If InStr("abcdefghijklmnopqrstuvwxz", Chr(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End Sub

en faite j'y v un peu fort :-/ en gros tous ce qui est entre les " sont autoriser mais alors il peux pas faire une retour donc backspace et sa je sais pas mais bon ta assez d'indice pour faire ton code :p
0
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
7 août 2006 à 02:03
j'ne suis arriver la :

Private Sub Text1_KeyPress(KeyAscii As Integer)


If Text1 = "" Then
    Exit Sub
End If


If InStr(Chr(13), Chr(KeyAscii)) = 0 Then
    Text1 = Left(Text1, Len(Text1) - 1)
    Text1.SelStart = Len(Text1)
    Exit Sub
End If


If InStr("abcdefghijklmnopqrstuvwxz", Chr(KeyAscii)) = 0 Then
    KeyAscii = 0
End If
End Sub

y a juste un ptit hic tt fonctionne mais quand y veut taper un caractere y sais en taper que 1 dans le textbox m'enfin suis claquer moi je go demain j'ai a faire ;-)
bonne continuation
0
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
7 août 2006 à 02:04
a oui et oublie pas de valider les reponse ;-)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
7 août 2006 à 07:37
aucune interet d'utiliser InStr ici :


If InStr(Chr(13), Chr(KeyAscii)) = 0 Then


a noter qu'il vaudrait mieux tester tout de même la chaine a la validation...(en plus de la saisie)

en effet, le presse papiers est souvent une breche.


pour le backspace, le Ctrl+C/X/V, tu peux faier par exemple :


Dim ALOWEDCHARS as string

ALLOWEDCHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxz" & Chr$(8) & Chr$(24) & Chr$(3) & chr$(22)


If InStr(ALLOWEDCHARS, Chr$(KeyAscii)) = 0 Then

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
7 août 2006 à 17:10
bah c'etais pas si loin de ce que j'ai dit :-) je suis pas pro pour ca mais j'etais sur la bonne voie ^^ je reprend le code car il me reservira aussi :p
0
Rejoignez-nous