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 avec IsNumeric


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 6
    Par défaut Problème avec IsNumeric
    Bonsoir à tous... Alors voila, je suis novice en VBA (je suis juste en train de nager dedans pour un travail scolaire)...

    J'ai utilisé IsNumeric pour tester si trois valeurs encodées sont des nombres ou pas et ensuite j'ai demandé à ce que si IsNumeric retourne la valeur "faux", il effectue une série de calcul. Le soucis, c'est que ça marche parfaitement pour mes deux premières valeurs encodées (A et B) mais pas pour C... J'ai droit à valeur inconnue alors que j'ai fais pareil pour les trois... ça doit être une bête erreur de débutant mais je n'arrive pas à m'en sortir... J'ai fais pas mal de sites mais je n'ai pas trouvé de solution.

    Alors voici le début de mon code (très basique évidemment et surement pas parfait) dans lequel se trouve IsNumeric :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Function ecriture_fonction(A, B, C As Double) As String
     
    Dim AA, BB, CC As Boolean
     
    AA = IsNumeric(A)
    BB = IsNumeric(B)
    CC = IsNumeric(C)
     
    If (AA = False Or BB = False Or CC = False) Then
    MsgBox "Entrez uniquement des nombres... merci!", 0 + 48, "Erreur : pas de variables!"
    ecriture_fonction = "Erreur : lettre"
    Else
    Merci d'avance et ... bonne soirée

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    IsNumeric fonctionne avec une chaîne de caractère, pas une valeur numerique

    A et B, non typées (pas beau pas beau) sont des Variant. C est typée en Double (donc pas une chaîne de caractères !)

    De surcroit : il semble que tu contrôles une saisie, non ?
    Si saisie ===>> c'est forcément une chaîne de caractères (String) et non une valeur numérique, que tu saisis (alors ? ===>> C n'est pas un double mais un String)

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 6
    Par défaut
    Merci de ta réponse...

    Ah et bien tu vois, on m'a appris (d'une superbe manière je te l'accorde... j'en pleure) que noté comme cela, A et B étaient aussi typés... Donc si je comprend bien (désolé mais je fais mon possible), si je type A et B aussi, ça ne marchera plus non plus et donc... comment pourrais-je vérifier si les nombres entrés sont bien des nombres et pas des lettres?

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Re-belote,

    en typant A en String, B en String et C en string (tu m'as lu ?)
    Isnuméric considère des strings

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 6
    Par défaut
    N'as tu pas amélioré ta réponse par la suite? Car il n'y avait pas la deuxième partie du texte quand JE T'AI LU (et oui.. pas besoin d'être désagréable... j'éviterai de demander de l'aide puisque apparemment ce n'est pas bien vu... désolé de ne pas être d'un top niveau)

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Citation Envoyé par ucfoutu Voir le message
    IsNumeric fonctionne avec une chaîne de caractère, pas une valeur numerique

    A et B, non typées (pas beau pas beau) sont des Variant. C est typée en Double (donc pas une chaîne de caractères !)
    De surcroit : il semble que tu contrôles une saisie, non ?
    Si saisie ===>> c'est forcément une chaîne de caractères (String) et non une valeur numérique, que tu saisis (alors ? ===>> C n'est pas un double mais un String)
    Je n'ai rien complété du tout !
    De surcroit : même la première partie était claire ! (en rouge dans la citation ci-dessus)à
    Je ne suis pas désagréable, mais il n'est pas certain que tu sois attentif ..

  7. #7
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 6
    Par défaut
    Il y a une différence entre être attentif (ce que je suis même si je reconnais que je commence à fatiguer à force d'essayer et d'essayer encore) et ne pas trop s'en sortir... Je fais mon possible pour essayer de comprendre... il faut bien un début à tout non?

    En fait, j'ai bien compris... il faudrait que je mette A,B et C en string! Mais le problème, c'est que j'ai besoin qu'ils soient des doubles (puisque je les utilise dans des calculs... c'est correct ce que je dis non? j'espere avoir au moins compris cela ) ... Il faudrait donc que je convertisse les double en string juste pour le IsNumeric?

  8. #8
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    OK,

    On passe alors à la lecture de la 2ème partie de mon message précédent :
    C'est bien une saisie, que tu contrôles. Où (dans quoi) se fait la saisie ?
    Ma réponse dépendra de la tienne à cette question.

  9. #9
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 6
    Par défaut
    Alors oui c'est bien une saisie (dans trois cellules d'excel)... Ces saisies doivent être de valeurs numériques

Discussions similaires

  1. Problème avec IsNumeric
    Par mademoizel dans le forum ASP
    Réponses: 2
    Dernier message: 24/01/2008, 21h13
  2. Problème avec isnumeric
    Par avigeilpro dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 22/06/2007, 04h10
  3. Problème avec isnumeric
    Par Reservoir_Dogs dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 07/08/2006, 03h06
  4. 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