+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Discussion: Inputbox bug

  1. #1
    Invité de passage
    Inscrit en
    avril 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : avril 2010
    Messages : 3
    Points : 0
    Points
    0

    Par défaut Inputbox bug

    Mon problème c'est de savoir comment faire pour que la imputbox ne bug pas lorsque j'entre "qfqfef" car l'utilisateur ne doit entrer que des chiffres. Je suppose que c'est le variables mais sa ne marche pas lorsque je les définis, pourriez-vous m'aider.


    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub Total_Enter()
     
    If OA = "" Then
    MsgBox ("L'OA n'est pas renseigné")
    Else
     
    Quantité = InputBox("Combien de pièces ?")  ' <----Si je ne rentre pas des chiffres
    newpoids = InputBox("Quel poids ?")             ' <----Sa me met en mode débugage
     
    If Quantité = "" Then
    Exit Sub
    End If
     
    Total = Quantité * newpoids
    Poids = newpoids
    End If
     
    End Sub

  2. #2
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Inscrit en
    décembre 2004
    Messages
    3 522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 3 522
    Points : 6 452
    Points
    6 452

    Par défaut

    Salut

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Option Explicit
    Dim Total,Poids,OA,Quantite,newpoids
     
    Private Sub Total_Enter()
    Dim Quantite,newpoids
     
    If OA = "" Then
            MsgBox ("L'OA n'est pas renseigné")
            Exit Sub
            Else
            Quantite = InputBox("Combien de pièces ?")
            If Quantite = "" Then
                    MsgBox ("Vous devez indiquer la Quantité")
                    Exit Sub
            End if
            If IsNumeric(Quantite) then
                    newpoids = InputBox("Quel poids ?")
                    If newpoids = "" Then
                            MsgBox ("Vous devez indiquer le poids")
                            Exit Sub
                    End If
                    If IsNumeric(newpoids) then
                            Total = Quantite * newpoids
                            Poids = newpoids
                            Else
                            MsgBox ("Pour le poids, vous devez entrer un chiffre")
                            Exit Sub
                    End If
                    Else
                    MsgBox ("Pour la quantité, vous devez entrer un chiffre")
                    Exit Sub
            End if
    End If
     
    End Sub
     
    OA = 1
    Total_Enter
     
    Msgbox "total: " &  Total & VbNewLine & "Poids: "  &  Poids

  3. #3
    Membre émérite Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    janvier 2008
    Messages
    492
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2008
    Messages : 492
    Points : 828
    Points
    828

    Par défaut

    pour ma part, je fais une InputBox sur mesure avec une form contenant un label (pour la saisie) et deux boutons OK et Annulation

    dans le label, je teste le Ascii et si ce n'est pas un numérique ou une flèche, je fais un Beep et Ascii=0

  4. #4
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Inscrit en
    décembre 2004
    Messages
    3 522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 3 522
    Points : 6 452
    Points
    6 452

    Par défaut

    Salut
    @ DAUDET78, , je pensais être encore sur le Forum VBSCript et j'ai répondu dans se sens

  5. #5
    Membre émérite Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    janvier 2008
    Messages
    492
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2008
    Messages : 492
    Points : 828
    Points
    828

    Par défaut

    J'utilise un truc du genre
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Valeur_KeyPress(KeyAscii As Integer) ' sur un objet Label
    Select Case KeyAscii
        Case Asc("0") To Asc("9"), 8, Asc("."), Asc(",") ' numérique, correcteur et séparateurs décimaux acceptés
        Case Else
            KeyAscii = 0: Beep  ' les autres sont refusés
    End Select
     
    End Sub
    Faut mettre ça dans une forme avec les bouton "OK" et "Annuler"

  6. #6

    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2011
    Messages : 2
    Points : -1
    Points
    -1

    Par défaut

    utilise isnumeric pour tester le contenu du textbox avant de poursuivre l'execution du code dans un bloc while et definir egalement une condition de sortie en cas d'abandon

  7. #7
    Membre émérite Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    janvier 2008
    Messages
    492
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2008
    Messages : 492
    Points : 828
    Points
    828

    Par défaut

    Citation Envoyé par cluniverselle Voir le message
    utilise isnumeric pour tester ......
    C'est insuffisant, il faut aussi valider le code 9

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •