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.NET Discussion :

Pb de calcul


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 257
    Par défaut Pb de calcul
    Salut, j'ai un pb de calcul d'un montant. Je vous explique : j'ai un champ "montant du contrat", un champ "réalisation du 1er trimestre", un champ "total réalisation" et un champ "reste à payer". Je veux que lorsque je met un montant au niveau du champ "réalisation du 1er trimestre" il me met automatiquement le montant du "reste à payer" (reste à payer = montant du contrat - total réalisation) tout en respectant les chiffres après la virgule. voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub Txtrea1ertrim_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txtrea1ertrim.TextChanged
            Txtrea1ertrim.Text = Txtrea1ertrim.Text.Replace(".", ",")
            Txtrea1ertrim.Select(Txtrea1ertrim.Text.Length, 0)
            Dim r As Double
            r = Val(Txtmontantc.Text) - Val(Txttotalrea.Text)
            Dim res As [Decimal] = (r)
            Txtresteapayer.Text = res.ToString
        End Sub
    Mais ca ne marche pas

  2. #2
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut
    Salut,

    suis surement pas le mieux placer pour te repondre car je suis suis quiche . Mais je pense que tu ne peux pas faire d operation sur tes .text ils te faut declarrer des variables, leur affecter les valeurs contenues dans les textbox et faire les operations sur c variables.

    Mais je dis ptet une grosse connerie

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 257
    Par défaut
    Même en utilisant des variables au lieu des textbox ça ne marche pas

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    j'ai pas compris où tu bloques, c'est quoi qui ne marche pas ?
    sinon decimal est mieux que double
    cdec est mieux que val

    => dim valeur as decimal = cdec(str1) - cdec(str2)
    si tu veux fixer le nombre de chiffres après la virgule utilise format
    textboxresultat = format(valeur,monformat)

    si tu veux arrondir avant le calcul : cdec(round(cdec(str1)))
    round est dans system.math
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 257
    Par défaut
    Voilà ce que j'ai essayé de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub Txtrea1ertrim_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txtrea1ertrim.TextChanged
            Txtrea1ertrim.Text = Txtrea1ertrim.Text.Replace(".", ",")
            Txtrea1ertrim.Select(Txtrea1ertrim.Text.Length, 0)
            Dim resultat As [Decimal] = CDec(Txtmontantc.Text) - CDec(Txttotalrea.Text)
            Txtresteapayer.Text = resultat.ToString
        End Sub
    Mais il me sort un msg d'erreur au niveau de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Dim resultat As [Decimal] = CDec(Txtmontantc.Text) - CDec(Txttotalrea.Text)
    Le msg d'erreur est le suivant : "La conversion de la chaîne " " en type 'Decimal' n'est pas valide"

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 257
    Par défaut
    C'est bon j'ai trouvé mon erreur
    Voici le code après correction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     Private Sub Txtrea1ertrim_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txtrea1ertrim.TextChanged
            Txtrea1ertrim.Text = Txtrea1ertrim.Text.Replace(".", ",")
            Txtrea1ertrim.Select(Txtrea1ertrim.Text.Length, 0)
            Dim r As [Decimal] = CDec(Txtmontantc.Text)
            Dim res As [Decimal] = CDec(Txtrea1ertrim.Text)
            Dim resultat As [Decimal] = CDec(r) - CDec(res)
            Txtresteapayer.Text = resultat.ToString
        End Sub
    Merci à tous

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

Discussions similaires

  1. [TP7] Calculer sin, cos, tan, sqrt via le FPU
    Par zdra dans le forum Assembleur
    Réponses: 8
    Dernier message: 25/11/2002, 04h09
  2. Calcul des numéros de semaine d'un calendrier
    Par Invité dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 06/11/2002, 21h29
  3. Réponses: 8
    Dernier message: 18/09/2002, 03h20
  4. Récupérer 10 nb différents avec un calcul aléatoire
    Par BXDSPORT dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2002, 02h35
  5. Algo de calcul de FFT
    Par djlex03 dans le forum Traitement du signal
    Réponses: 15
    Dernier message: 02/08/2002, 17h45

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