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 :

vérifier le contenu de textbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 40
    Par défaut vérifier le contenu de textbox
    Bonjour,

    J'ai créé un userform avec un nombre variable de textbox. Les utilisateurs doivent ensuite saisir des valeurs numériques ou "B". j'aimerais pouvoir vérifier que ces saisies sont correctes. j'ai bidouillé le code ci-dessous qui vérifie bien la saisie du b et les valeurs numériques, mais n'accepte pas les valeurs décimales

    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
    25
    26
    Dim testnum, testb As Boolean
    testnum = True
    testb = False
       Dim nbdom, i As Integer
       nbdom = Sheets("temp").Range("C18")
     
       For i = 1 To nbdom
       'validation de la saisie si "B"
       testb = False
       If Me.Controls("coeff" & i).Text = "b" Or Me.Controls("coeff" & i).Text = "B" Then testb = True
     
         'validation de la saisie si numérique
           If testb = False Then
            With Me.Controls("coeff" & i)
                If .Value > "" And .Value <> Fix(Val(.Value)) Then
                    .SetFocus
                    Beep
                    MsgBox "Veuillez ne saisir que des chiffres ou un B !", vbOKOnly, "   Erreur !"
                    testnum = False
                    Exit For
                End If
            End With
           End If
        Next i
     
       If testnum = True Then 'suite de la procédure
    j'ai bien trouvé sur le web des choses sur la fonction instr qui me semblent intéressantes, mais je ne vois pas trop comment adapter ici car cela ne vérifie qu'une seule valeur à chaque fois comme sur le code ci-dessous. Y a t-il une possibilité d'utiliser la fonction instr avec plusieurs variables ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     With Me.Controls("coeff" & i)
        contenu = .Value
        x = InStr(1, contenu, "1")

  2. #2
    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
    Billets dans le blog
    8
    Par défaut re
    dans un test box tu a la possibilité de ne taper que des chiffres mais on le dit jamais assez faite une recherche dans les contribs ou même ce forum

    dans les contrib tu a une classe textbox tu la cherche avec mon pseudo tu la trouvera

    cela consiste a utiliser les évènement keypress du textbox
    exemple a mettre dans le module userform

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If Not Chr(KeyAscii) Like "[0-9-.]" Then KeyAscii = 0
    End Sub
    tu trouvera partout ce genre de petite chose
    faut il encore se donner la peine de chercher
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 40
    Par défaut
    merci de la réponse.

    j'avais bien trouvé le code utilisant le keypress, mais il marche avec une macro par textbox, et mon nombre de textbox est variable. Ta suggestion de créer une classe de textbox peut peut-être résoudre le problème. Je vais regarder si je comprends le principe à partir de l'exemple que tu donnes sur les numéros de téléphone.

  4. #4
    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
    Billets dans le blog
    8
    Par défaut Re
    Dans ce cas la c est
    If isnumeric(''nomtextbox'') then.......
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 40
    Par défaut
    ah ben ça c'est magique, merci ! Je ne pense pas assez à fouiller dans les fonctions et je ne connaissais pas celle-là.

  6. #6
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, toujours consultable : Obliger une saisie numérique dans une TextBox

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

Discussions similaires

  1. Vérifier le contenu des TextBox
    Par Raadgever596 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/12/2008, 14h21
  2. Vérifier le contenu d'un champ
    Par Zebulon777 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/01/2007, 14h28
  3. vérifier le contenu d'un Memo ou RichEDit
    Par smail21 dans le forum Composants VCL
    Réponses: 5
    Dernier message: 14/04/2006, 13h53
  4. Réponses: 4
    Dernier message: 02/01/2006, 09h53

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