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

Macros et VBA Excel Discussion :

Tester une saisie numérique dans un textbox


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Tester une saisie numérique dans un textbox
    Citation Envoyé par ouskel'n'or Voir le message
    Effectivement, un Textbox utilisé ainsi renvoie un string, non une valeur. Autant pour moi.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    If IsNumeric(TextBox3.Value) Then
         If Int(Val(TextBox3.Value)) < Val(TextBox3.Value) Or Val(TextBox3.Value) < 0 Then
              MsgBox "J'ai dit des entiers !!!!!!!!!"
              Cancel = True 'empêche de sortir du textbox
         Else
              Cancel = False
         End If
    Else
         MsgBox "J'ai dit des valeurs !"
         Cancel = True 'empêche de sortir du textbox
    End If
    Mais tu pourrais aussi interdire le point et la virgule lors de la saisie et envoyer un beep ou un message le cas échéant. Seulement si tu n'as que quelques textbox. S'il y en a plusieurs, pour ma part je préfère toujours une validation générale.
    Tu dis
    A+
    bonjour
    Je suis nouveau sur ce forum et totalement novice en programmation VBA
    Je cherche donc à apprendre. Je m'excuse par avance des "âneries" et erreurs grossières, mais avant d'être grand on est petit.
    Je comprends le code qui a été tapé. J'ai donc intégré ce code dans mon petit "programme" mais là c'est le drame ça fonctionne pas. Ma très grande expérience en VBA ne me permet pas de comprendre où est mon erreur.
    Please help me.

    Voici le 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
    Private Sub MONTANT_DU_PROJET_enter()
     
    If IsNumeric(MONTANT_DU_PROJET_.Value) Then
         If Int(Val(MONTANT_DU_PROJET_.Value)) < Val(MONTANT_DU_PROJET_.Value) Or Val(MONTANT_DU_PROJET_.Value) < 0 Then
              MsgBox "J'ai dit des entiers !!!!!!!!!"
              Cancel = True 'empêche de sortir du textbox
         Else
              Cancel = False
         End If
    Else
         MsgBox "J'ai dit des valeurs !"
         Cancel = True 'empêche de sortir du textbox
    End If
     
     
    End Sub

  2. #2
    Membre actif
    Homme Profil pro
    Pompier de service
    Inscrit en
    Février 2014
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Pompier de service

    Informations forums :
    Inscription : Février 2014
    Messages : 144
    Points : 223
    Points
    223
    Par défaut
    Pauvre topic... ce n'est plus du déterrage, c'est de la profanation de tombe !

    Déjà, regarde sur quel évènement ton code est exécuté... A l'entrée (_Enter = prise de focus) de ton textbox ??? Dès lors, tu peux passer Cancel à vrai, faux ou ce que tu veux, ça n'aura pas beaucoup d'effet...

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut re
    oui puré ca date !!
    il y a pourtant un truc tres simple a faire et des exemples il y en a des tas dans le forum
    tout simplement rendre impossible de taper autre chose que les chiffres de 0 a 9 et basta, pas besoins d'analiser dans le change ou quoi on bloque tout ce qui n'est pas numeric

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
    End Sub

Discussions similaires

  1. Réponses: 13
    Dernier message: 25/11/2022, 13h51
  2. [XL-2010] Obliger la saisie numérique dans plusieurs textbox
    Par Lulugant dans le forum Excel
    Réponses: 2
    Dernier message: 04/04/2014, 19h06
  3. [XL-2007] Prise en compte d'une valeur numérique dans un TextBox
    Par ddanie dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/12/2013, 13h53
  4. Obliger une saisie numérique dans une VSFlexGrid?
    Par GOLDINGMAROC dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/12/2012, 12h23
  5. [MFC]Saisie Numérique dans un TextBox
    Par torNAdE dans le forum MFC
    Réponses: 1
    Dernier message: 09/05/2006, 06h47

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