IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Problème avec INPUTBOX [AC-2003]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Par défaut Problème avec INPUTBOX
    Bonjour, j'ai un souci avec une INPUTBOX, celle ci fonctionne correctement, mais je voudrais savoir comment mettre du code derrière le bouton annuler car dès que je clic dessus, j'ai un message :

    Incompatibilité de type
    En fait je voudrais que si on clic sur annuler et bien ça quitte la sub.

    Merci, voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    message = "Veuillez entrer la quantité réelement reçue "
    Titre = "Quantité réelement reçue"
    ValeurInuptBox = InputBox(message, Titre)
     
    If IsNull(ValeurInuptBox) Then
    MsgBox ("Veuillez Indiquer une valeur dans la zone de saisie")
    Exit Sub
    Else
    End If
     
    If ValeurInuptBox < 1 Then
    MsgBox ("Veuillez entrer une valeur différente de 0 ou positive")
    Exit Sub
    Else
    End If
     
    If ValeurInuptBox >= Quantité Then.....

  2. #2
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Bonjour,

    Comme l'indique l'aide d'Access, la fonction InputBox renvoie un type String, qui contient une chaine vide "" lorsque l'utilisateur clique sur Annuler.

    Il faut donc que tu déclares ta variable ValeurInuptBox de type String et que tu testes si la valeur est "" pour détecter le clic sur Annuler.

    Ensuite, tu peux convertir la valeur en numérique (ou laisser Access faire implicitment la conversion).


    qq chose du genre (non testé)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Dim sMessage as string
    Dim sTitre as string
    Dim sValeurInputBox as string
    Dim iQuantité as Integer 'à adapter en fonction du type de numérique attendu
     
     
     
    message = "Veuillez entrer la quantité réelement reçue "
    Titre = "Quantité réelement reçue"
    sValeurInuptBox = InputBox(sMessage, sTitre)
     
    If sValeurInuptBox ="" Then
    	Exit Sub 
    elseIf Not ISNumeric(sValeurInuptBox) then
    	MsgBox ("Veuillez entrer un nombre")
    else
    iQuantité = CInt(sValeurInputBox)
    if iQuantité < 1 Then
        MsgBox ("Veuillez entrer une valeur supérieure à 0")
        Exit Sub
    ElseIf iQuantité >= Quantité Then.....
     
    Else
    end if

  3. #3
    Membre éprouvé
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Par défaut
    Comme c'est un string, mais que moi j'y insert des valeurs, comment tester si je ne veux pas de nombre à virgule dans l'INPUTBOX?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 50
    Par défaut
    Tu peux essayer avec la fonction VarType pour savoir si ta réponse est un entier (vbInteger=2)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If VarType(sValeurInuptBox) =2 then...

  5. #5
    Membre éprouvé
    Inscrit en
    Décembre 2007
    Messages
    1 235
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1 235
    Par défaut
    Re, j'ai testé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Not VarType(ValeurInuptBox) = 2 Then
    MsgBox ("La quantité reçue doit être un nombre entier")
    Exit Sub
    End If
    Mais même si je met un nombre entier, ça me déclenche, donc ça ne fonctionne pas!

    Quelle autre solution est possible?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Problèmes avec inputbox
    Par Toine-45 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/12/2013, 12h09
  2. [AC-2003] problème liste deroulante avec inputbox
    Par makila64 dans le forum IHM
    Réponses: 2
    Dernier message: 28/03/2012, 08h31
  3. Problème avec inputbox
    Par jerem1 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/12/2010, 07h41
  4. Problème avec le bouton Annuler de la fonction Inputbox
    Par r0main2b dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/06/2007, 19h48
  5. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo