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 :

[2.0][VB.NET] Opérateurs non défini


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Par défaut [2.0][VB.NET] Opérateurs non défini
    Bonjour,

    Nouveau avec VB, ma question va vous paraitre bête, mais je n'ai pas trouvé la réponse dans le forum (peut etre je ne cherche pas avec les bons mots clés...)

    Bref, j'essaie de faire un prog de calcul archi simple : genre entrer des nombres dans des textbox (HT,TVA,TTC) pour que le calcul se fasse à partir du TTC OU à partir du HT.

    Malgré les nombreux tutos des livres et de ce forum, je n'arrive pas à entrer un calcul.

    Il ne m'accepte pas les opérateurs :

    "L'opérateur * (ou /) n'est pas défini pour les types system windows.forms Textbox et Integer"
    Pourtant, je suis obligé de mettre une textbox pour la saisie des chiffres.
    Mes variables sont bien déclarées en tant que Double. J'ai du loupé quelque chose, là, non ???

    Faut-il définir les opérateurs ? Qu'est ce que cela veut dire ?

    Merci si vous avez quelques liens pour des exemples ou des tutos.

  2. #2
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    Salut malibu84 et bienvenue.

    Montre nous ton code complet de l'utilisation des opérateurs, et

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Par défaut
    Bonjour,
    Je vous l'ai dit, j'en suis au tout début.

    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
     
    Public Class Form1
     
        Private Sub HT_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HT.TextChanged
            Dim HT As Double
            HT = 0
     
        End Sub
     
        Private Sub TTC_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TTC.TextChanged
            Dim TTC As Double
            TTC = 0
     
        End Sub
     
        Private Sub TauxTVA_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TauxTVA.TextChanged
            'déclaration variable
            Dim TauxTVA As Double
            'si rien n'est entré, Taux TVA=19,6
            'a voir les if....then plus tard
            TauxTVA = 19.6
     
     
        End Sub
     
        Private Sub TVA_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TVA.TextChanged
            Dim TVA As Double
            TVA = 0
     
        End Sub
     
     
    End Class

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Par défaut
    Je double clique sur la case "TTC" pour écrire la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      Private Sub TTC_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TTC.TextChanged
            Dim TTC As Double
            TTC = HT * (TauxTVA / 100)
        End Sub
    Message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Erreur	1	L'opérateur '/' n'est pas défini pour les types 'System.Windows.Forms.TextBox' et 'Integer'.	C:\Documents and Settings\Maman\Mes documents\Visual Studio 2006\Projects\Factures\Factures\Form1.vb	11	21	Factures

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Salut,

    ta variable TauxTVA est de type TextBox et tu cherches à la diviser par 100. Le compilateur t'indique qu'il ne sait pas diviser une TextBox par un nombre .
    Ce que tu cherches à faire en fait c'est diviser la valeur contenue dans la textBox par 100, ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TauxTVA.Text / 100
    On y est presque mais pas encore, car TauxTVA.Text est de type string et le compilateur encore une fois ne sait pas diviser une chaine de caractère par un nombre, avant il faut convertir ta chaine en entier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int.Parse(TauxTVA.Text) / 100
    Devrait déja mieux fonctionner

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Par défaut Ah oui, je comprends mieux...
    Merci beaucoup pour ta réponse Sphax. Je vais potasser ça, faire des essais....encore merci.

  7. #7
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Citation Envoyé par Sphax
    ta variable TauxTVA est de type TextBox et tu cherches à la diviser par 100. Le compilateur t'indique qu'il ne sait pas diviser une TextBox par un nombre .
    Désolé, mais ce n'est pas vraiment l'erreur...

    Le problème vient de la portabilité de ta variable TauxTVA

    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub TauxTVA_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TauxTVA.TextChanged
            'déclaration variable
            Dim TauxTVA As Double
            'si rien n'est entré, Taux TVA=19,6
            'a voir les if....then plus tard
            TauxTVA = 19.6
     
    End Sub

    il faut que la déclaration soit au niveau de la classe et non au niveau de ta procédure


    Code vb.net : 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
     
    Public Class myClass
        Private dblTauxTVA As Double
        Private dblTTC As Double
        Private dblHT As Double
     
        Private Sub TauxTVA_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TauxTVA.TextChanged
            'déclaration variable
            'si rien n'est entré, Taux TVA=19,6
            'a voir les if....then plus tard
            dblTauxTVA = 19.6
            If TauxTva.Text = "" Then Exit Sub
            dblTauxTva = cDbl(TauxTva.Text)
        End Sub
     
        Private Sub TTC_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TTC.TextChanged
            dblTTC = dblHT * (dblTauxTVA / 100)
        End Sub
    End Class

    Par contre évite de nommer tes variables de la même façon que tes composants, tu risques de rencontrer des problèmes...

Discussions similaires

  1. appeler du .NET depuis une dll non managé
    Par sebs_78 dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 05/12/2007, 09h36
  2. Réponses: 5
    Dernier message: 21/09/2007, 08h59
  3. Framework .NET 2.0: application non portable
    Par alceste dans le forum C++
    Réponses: 10
    Dernier message: 16/06/2006, 08h20
  4. [.NET 2] System.Transactions non trouvé
    Par brousaille dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/04/2006, 17h06
  5. [VB.Net] DataAdapter, Affichage si non null ???
    Par Sophy dans le forum ASP.NET
    Réponses: 12
    Dernier message: 20/02/2004, 18h03

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