begin process at 2010 02 10 00:00:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Interdir la saisie alphabetique dans une boite de saisie


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Interdir la saisie alphabetique dans une boite de saisie

samedi 26 novembre 2005 à 19:58:12 | Interdir la saisie alphabetique dans une boite de saisie

SkyrOu

Bonjour, je suis novice et j'aurai besoin d'aide pour un projet.

Voilà le contexte :

- Je saisie une valeur dans une boite de saisie (dll crée par mon professeur d'algo).
- Les valeurs autre que celles d'un dé à 6 faces sont interdite (0,7,8,9,...).
- Le résultat de ma saisie est stocké dans une variable (Entier, car des opérations suivent)

Je voudrais interdire la saisie de caractère alphabétique et donc afficher un message d'erreur si un caractère alphabétique étais saisie.

Merci pour votre aide.
samedi 26 novembre 2005 à 19:59:46 | Re : Interdir la saisie alphabetique dans une boite de saisie

SkyrOu

Je précise qu'il ne faut pas utiliser le KeyPress.
samedi 26 novembre 2005 à 20:12:03 | Re : Interdir la saisie alphabetique dans une boite de saisie

Julien237

Je fais le code en vitesse comme ca :

dim Pom as string, value as long  'Pom est l'entrée de texte, value la valeur une
 'fois qu'on a vérifié qu'elle était valable...

if str(val(Pom))=Pom and Val(Pom)>0 and Val(Pom)<7 and Val(Pom)=Int(Val(Pom)) then
    'Ok, bonne entrée
    value=val(pom)
else
    'Mauvais
    msgbox "Mauvaise entrée..."
end if


Alors, les vérifications dans l'ordre:

- Est-ce que la transformation en texte de la valeur numérique de pom = l'originale ?
    car val("2a") renvoie 2... mais str(val("2a")) = "2" et <> "2a"
- Pom >0
- Pom <7
- Pom est-il entier ? si pom est pas entier, son arrondi est différent de lui-même, sinon c'est un entier...

Julien.
samedi 26 novembre 2005 à 20:17:49 | Re : Interdir la saisie alphabetique dans une boite de saisie

SkyrOu

Merci pour ta réponse mais j'ai omi de préciser que l'option Strict est ON ce qui rend impossible la possibilité de convertion.
samedi 26 novembre 2005 à 20:33:07 | Re : Interdir la saisie alphabetique dans une boite de saisie

Julien237

Lol, ben déclare value comme Double à la place de Long et ça marche non ? C'est la seule conversion implicite que je vois...

Julien.
samedi 26 novembre 2005 à 20:36:32 | Re : Interdir la saisie alphabetique dans une boite de saisie

Julien237

Mais si j'ai bonne mémoire de la fonction Str, j'ai fais une autre erreur : str(val()) rajoute un espace, remplace donc str(val()) par trim(str(val()))

Julien.
samedi 26 novembre 2005 à 21:38:46 | Re : Interdir la saisie alphabetique dans une boite de saisie

pcpt

Administrateur CodeS-SourceS
salut,
VB6 ?


voici un exemple facile à comprendre

Option Explicit 
'
'
Private Sub Command1_Click() 
'   explication
    Dim sAlerte As String 
    sAlerte = "" 

'   saisie
    Dim sRep As String 
    sRep = InputBox("Saisissez votre chiffre", "exo") 

    If sRep = "" Then sAlerte = "Réponse vide": GoTo SubExit 

'   entier
    On Error GoTo ErrHandler 
        Dim iNumber As Integer 
        iNumber = Val(sRep) \ 1 
    On Error GoTo 0  '*FGE*

'   test
    If iNumber < 1 Then sAlerte = "Valeur trop petite": GoTo SubExit 
    If iNumber > 6 Then sAlerte = "Valeur trop grande": GoTo SubExit 

'   ok
    MsgBox "ok, valeur conservée = " & iNumber, 32, ":-Þ" 

SubExit: 
    If sAlerte <> "" Then MsgBox sAlerte, 32, "non valide!!" 
    Exit Sub 

ErrHandler: 
    Err.Clear 
    MsgBox "Valeur totalement stupide", 32, "non valide!!" 
End Sub 
 


Coloration syntaxique automatique [AFCK]
       

PCPT   [AFCK]

dimanche 27 novembre 2005 à 03:30:37 | Re : Interdir la saisie alphabetique dans une boite de saisie

jpleroisse

Bonsoir, (plustôt Bonne nuit)
Un exemple VB6 avec un textBox (Il y a surement moyen de racourcir le code.)


Private Sub Text1_Change()
Dim i
i = Array("1", "2", "3", "4", "5", "6")
On Error Resume Next
If Text1 = "" Then
Text1.SetFocus
Exit Sub
End If
If Text1 <> i(0) Then
   If Text1 <> i(1) Then
        If Text1 <> i(2) Then
            If Text1 <> i(3) Then
                If Text1 <> i(4) Then
            If Text1 <> i(5) Then
MsgBox " vous devez tapper une valeur entre 1 et 6", vbCritical, "Mauvaise entrée !"
Text1 = ""
               End If
            End If
         End If
      End If
   End If
End If
End Sub

jpleroisse

Si une réponse vous convient, cliquez Réponse Acceptée.



Cette discussion est classée dans : aide, boite, saisie, alphabetique, interdir


Répondre à ce message

Sujets en rapport avec ce message

de aide sur la boite text svp [ par Laulaut ] bonjour voila j'ai ma boite de text ou je rajoute des lignes a la suite des autres et il y a une scrollbar mais quand je arrive en bas de la boite de Aide pour réaliser un masque de saisie sous VBA EXCEL [ par Metos ] Besoin de réaliser des masques de saisies merci Aide SVP (masque de saisie) [ par lami75 ] Svp j'ai un gros problème avec le contôle MaskEdBox sur Vb6.je souhaite créer un masque pr la saisie des dates au "format" jj/mm/aaaa!la prop. mask de boite de dialogue commune AIDE??? VB6 [ par goguys ] Bonjour, j'aimerai faire une aide sur mon logiciel en passant par la boite de dialogue commune (CommonDialog). en fait je veu pas trop me casser la tê saisie sur internet à l'aide de VBA [ par NOHAM ] je recherche une source qui permet de saisir du texte dans une boite de dialogue présent sur un site internet et de récuperer sur un fichier excel le urgent besoin aide dirlistbox et odre alphabetique [ par azertyman ] salut je recherche un moyen simple d'avoir les fichiers du dirlistbox par odre alphabique (l'option sorted n'existe pas)ex:dossier1dossier2dossier10et besoin d'aide sur la propriété DATAFORMAT [ par jimmypage64 ] bj, qq1 pourrai t'il m'aider ?je voudrai formater des champs de texte pour limiter la saisie a un certain nombre de caractères. Par exemple pour faire besoin d'aide!!! [ par lobapir ] slt a tous je débute avec vba et j'ai un pb avec ma textboxActiveSheet.Range("d7") = UserForm1.TextBox5.Valuemon pb c'est que je n'arrive pas a le fai case à cocher [ par syltab ] Salutj'ai placé dans une boite de dialogue des cases à cocher (10)Il me faut 5 cases cochées pour accepter la saisie, sinon il faut compléter la saisi DATE [ par pierremp1 ] BONJOUR Petite questionje souhaite inserer la date et l heure du jour dans une cellule et une boite de dialogue je m'expliqueje clic sur un bouton et


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,577 sec (4)

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