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 :

Problème Isnumeric Textbox.value "." "," [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Par défaut Problème Isnumeric Textbox.value "." ","
    Bonjour à tous,

    Je vous remercie déjà de prendre le temps de lire mon problème. En effet, j'ai un problème de test de valeur sur une textbox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    If IsNumeric(Purete.Value) Then
            If Purete.Value <= 0 Or Purete.Value > 100 Then
                MsgBox "La valeur de la pureté doit être comprise entre 0 et 100%", vbCritical
                GoTo fin
            End If
    Else
            MsgBox "La pureté doit être un nombre !", vbCritical
            GoTo fin
    End If
    Je veux tester comme le code l'indique si ma valeur de textbox est numérique ou pas. Le problème est que si j'exécute avec cela, que je mettre un nombre décimal avec un point ou une virgule, le code se place dans le "Elseé, il ne le considère donc pas comme un nombre.
    J'ai essayé en mettant val(purete.value), replace(purete.value,".",",").
    Mais rien n'y fait. Replace ne fonctionne pas mais val me tronque les décimales.

    Si vous avez une petite idée. La textbox se trouve sur un userform.
    Je vous remercie d'avance et vous souhaite une bonne soirée,

    Bien cordialement,

    Anthony

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        V = Replace(Purete.Value, ",", ".")
     
        If IsNumeric(V) Then
    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Ou peut-être encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If CDbl(Purete.Value) <= 0 Or CDbl(Purete.Value) > 100 Then

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bien vu !

    Z'avais un peu oublié les fonctions de conversion de types de données fonctionnant avec les deux séparateurs décimaux …

  5. #5
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    sinon pour les "," et ".", macro sur l'évènement KeyPress

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub purete_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If Chr(KeyAscii) = "." Then KeyAscii = Asc(",")
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Par défaut
    Bonjour à tous,

    Je voulais déjà commencer par vous remercier pour vous intéresser à mon cas.
    J'ai essayer encore une fois vos propositions que j'avais déjà essayer avant même Cdbl() qui n'ont rien donné. En effet, le replace ne fait rien de plus et le Cdbl() m'inflige une erreur de compatibilité de type 13.

    Par contre, je n'ai pas bien saisi le message de casefayere. en effet, le problème se pose sur un userform avec un bouton de commande pour valider l'userform. Pourquoi alors un Keypress? Merci d'éclaircir mes pensées.

    Bonne journée à vous et encore merci,

    Anthony

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

Discussions similaires

  1. quote ' et double quote " - un vrai problème
    Par CLion dans le forum ASP.NET
    Réponses: 20
    Dernier message: 30/01/2012, 21h11

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