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

VB 6 et antérieur Discussion :

les divisions a travers les textbox


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 46
    Points : 24
    Points
    24
    Par défaut les divisions a travers les textbox
    bonjour,
    je butte sur un nouveau probleme

    Form2.Text10.Text = CDbl(Form1.Combo1.Text * 3.1415927) * 60 / (Val(Form2.Text9.Text))

    lorsque je cree une division ,sa ne marche pas mais si je remplace par le symbole * j'ai un résultat

    merci pour votre aide

    jer35

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form2.Text10.Text = CDbl(Val(Form1.Combo1.Text) * 3.1415927) * 60 / (Val(Form2.Text9.Text))
    Avant d'effectuer une opération avec le contenu d'un TextBox (ou un Label, ou ....) étant par défaut du littéral (String), il faut systématiquement le convertir en numérique.
    Dans l'editeur VB, F2 rubrique Conversion.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 46
    Points : 24
    Points
    24
    Par défaut
    bonsoir,

    decidement , je n'y arrive pas :

    voici un petit calcul pour avoir une valeur a une variable : 0.035/270
    le resultat est 0.000129629 et vb me donne 1.29629 comme resultat

    y'a t il une conversion a faire

  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
    Points : 5 535
    Points
    5 535
    Par défaut
    Bon,

    Regarde, puis analyse (en ouvrant ton aide en ligne sur les mots dont la signification pourrait t'échapper) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    MsgBox 0.035 / 270
    MsgBox Format(0.035 / 270, "0#.##########")
    Dim toto As Double, titi As Double, resul As Double
    toto = 0.035
    titi = 270
    resul = toto / titi
    MsgBox CDec(resul)

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Points : 671
    Points
    671
    Par défaut
    Bonjour,

    Attention à certaines bizarreries du VB6.

    Analyse ceci:

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    Dim nomb As String
      Dim calc As Currency
        nomb = "25684"           'exemple
                                 'donne comme réponse
     
        calc = 256.84            'calc = 256,84
         Stop
        calc = nomb / 100         'calc = 256,84
        Stop
        calc = Val(nomb / 100)    'calc = 256
        nomb = "256.84"
        calc = Val(nomb)         'calc = 256,84
        Stop
        calc = nomb              'erreur type incompatible
        Stop
        nomb = "256,84"
        calc = Val(nomb)          '   256
        Stop
        nomb = "256,84"
        calc = nomb                'calc = 256,84
        Stop
     
                                 'donne comme réponse
        nomb = Replace(nomb, ",", ".") 'nomb = "256.84"
        Stop
        calc = Val(nomb)               'calc = 256,84
        Stop
        nomb = Str(calc)               'nomb = "256.84"
        Stop
        nomb = CStr(calc)              'nomb = "256,84"
        Stop
        nomb = Str(calc)               'nomb = "256.84"
        calc = CCur(nomb)             ' erreur type incompatible
        Stop
    et je crois que les nombres à virgule dépendent aussi des paramètres donnés à windows ( France ,EU...etc )

  6. #6
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Citation Envoyé par iclic Voir le message
    Bonjour,

    Attention à certaines bizarreries du VB6.

    Analyse ceci:

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    Dim nomb As String
      Dim calc As Currency
        nomb = "25684"           'exemple
                                 'donne comme réponse
     
        calc = 256.84            'calc = 256,84
         Stop
        calc = nomb / 100         'calc = 256,84
        Stop
        calc = Val(nomb / 100)    'calc = 256
        nomb = "256.84"
        calc = Val(nomb)         'calc = 256,84
        Stop
        calc = nomb              'erreur type incompatible
        Stop
        nomb = "256,84"
        calc = Val(nomb)          '   256
        Stop
        nomb = "256,84"
        calc = nomb                'calc = 256,84
        Stop
     
                                 'donne comme réponse
        nomb = Replace(nomb, ",", ".") 'nomb = "256.84"
        Stop
        calc = Val(nomb)               'calc = 256,84
        Stop
        nomb = Str(calc)               'nomb = "256.84"
        Stop
        nomb = CStr(calc)              'nomb = "256,84"
        Stop
        nomb = Str(calc)               'nomb = "256.84"
        calc = CCur(nomb)             ' erreur type incompatible
        Stop
    et je crois que les nombres à virgule dépendent aussi des paramètres donnés à windows ( France ,EU...etc )
    Bonjour,
    Je ne vois aucune bizarrerie ici qui soit spécifique à VB6 mais la gestion particulière du séparateur décimal par µSoft quelquesoit les logiciels employés.

  7. #7
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 46
    Points : 24
    Points
    24
    Par défaut
    bonsoir,

    merci a tous pour vos reponses,
    encore un petit souci mais avec les multiplications,

    0.00370 x 450 x 3.85 donne comme resultats 4.9999999 d'apres VB
    alors que la calculatrice trouve 6.41

    ou est erreur sachant que le bon resultat est 6.41

    merci a tous

  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
    Points : 5 535
    Points
    5 535
    Par défaut
    Re,

    Merci de remercier, mais ce serait mieux d'appliquer ce qui a été dit ... et/ou que tu as lu (l'as-tu fait ?) dans ton aide en ligne ...
    Regarde :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    MsgBox 0.0037 * 450 * 3.85
    MsgBox Format(0.0037 * 450 * 3.85, "#.##")
    Dim toto As Double, titi As Double, resul As Single
    toto = 0.0037
    titi = 450
    tata = 3.85
    resul = toto * titi * tata
    MsgBox resul
    MsgBox CDec(resul)

  9. #9
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 46
    Points : 24
    Points
    24
    Par défaut
    bonjour,

    votre petit programme marche tres bien ,
    une fois appliquez dans le mien ,ce n'est plus le meme resultat

  10. #10
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 46
    Points : 24
    Points
    24
    Par défaut
    ok reussi

    j'ai remplace la fonction val par cdec
    j'avais bien etudiez cette fonction

    merci pour l'aide

Discussions similaires

  1. Lister les disques durs USB, les clés ainsi que les appareils photos
    Par infosam76 dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 25/02/2015, 23h26
  2. Réponses: 1
    Dernier message: 04/06/2010, 16h38
  3. Réponses: 1
    Dernier message: 24/04/2006, 01h55
  4. [typedef] protection à travers les espaces de noms
    Par PINGOUIN_GEANT dans le forum C++
    Réponses: 7
    Dernier message: 02/02/2005, 20h21

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