Textbox1 + textbox2 = textbox3

urbain19 Messages postés 17 Date d'inscription samedi 14 juillet 2018 Statut Membre Dernière intervention 26 juillet 2018 - 14 juil. 2018 à 14:08
urbain19 Messages postés 17 Date d'inscription samedi 14 juillet 2018 Statut Membre Dernière intervention 26 juillet 2018 - 20 juil. 2018 à 15:17
Bonjour,
je suis un très grand débutant sur visual basic 2010 express
je voudrai faire un petit logiciel pour mon travail dans une carrier
c'est pour calculer le volume des cailloux

es-que une personne peut m'aider

textbox1 + textbox2 = textbox3

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

et aussi textbox1( la hauteur) avec une( racine carré )de textbox2

merci beaucoup a vous urbain

12 réponses

pascal16m Messages postés 73 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 12 novembre 2020
14 juil. 2018 à 15:37
version avec des nombres réels, utiliser "," et pas "." dans les nombres
double n1, n2 = 0;
Double.TryParse(textBox1.Text,out n1);
Double.TryParse(textBox2.Text,out n2);
textBox3.Text = (n1+n2).ToString();

les entrées sont du texte
TryParse converti sans générer d'erreur
on converti en texte pour afficher

pour la virgule au lieu du point
version cracra : avec les fonctions sur les chaines, on remplace . par , et hop (ça accepte les deux ensuite, mais plus les . dans les milliers)
sinon, il y a une fonction pour ça, mais c'est long à mettre en place
--
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
14 juil. 2018 à 17:49
Bonjour à tous les 2

@Urbain, Visual Studio 2010, ne permet pas de coder en VB6.
Le logiciel qui le permet n'est plus commercialisé depuis 1999.

@Pascal, il code en VB.Net et pas en C#....

@ tous les 2, merci d'utiliser la coloration syntaxique, en précisant le langage à colorer. Voir ici http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Donc en VB.Net, ce que propose Pascal
    Dim n1 As Double
    Dim n2 As Double
    Double.TryParse(textBox1.Text, n1)
    Double.TryParse(textBox2.Text, n2)
    textBox3.Text = (n1 + n2).ToString()


version avec des nombres réels, utiliser "," et pas "." dans les nombres

non, cela dépend de la configuration du PC et éventuellement de la configuration de l'application.

Si dans les paramètres de Windows, le symbole décimal est la virgule, par défaut celui du logiciel l'est aussi.
Dans le plus simple est effectivement d'utiliser la virgule dans tes nombre.
Si tu veux utiliser le point, tu peux
  • changer la "culture" de ton logiciel
  • faire un Replace comme Pascal le suggère, mais il y a le risque que la virgule soit utilisée comme séparateur de millier
  • préciser la culture de la conversion

			Dim n1 As Double
			Dim n2 As Double
			Double.TryParse("1,234", NumberStyles.Number, CultureInfo.GetCultureInfo("fr-FR"), n1)
			Double.TryParse("1.234", NumberStyles.Number, CultureInfo.InvariantCulture, n2)
, mais il faut être sûr de sa culture.
0
urbain19 Messages postés 17 Date d'inscription samedi 14 juillet 2018 Statut Membre Dernière intervention 26 juillet 2018
16 juil. 2018 à 10:54
Bonjour,

a tous .
je suis très content de vos response

Du : textbox1 + textbox2 = textbox3

une autre question et pour faire une racine carré ?

textbox1( la hauteur, le nombre a imposer ) avec une( racine carré )de textbox2 ( le résultat de la racine carré )

merci beaucoup a vous urbain
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
16 juil. 2018 à 12:18
0
urbain19 Messages postés 17 Date d'inscription samedi 14 juillet 2018 Statut Membre Dernière intervention 26 juillet 2018
Modifié le 16 juil. 2018 à 16:51
bonjour je suis coincer sur la textbox8
il me marque que j'ai deux erreures

la variable locale 'n3' est déjà déclarée dans le bloc actuel
la variable locale 'n6' est déjà déclarée dans le bloc actuel

je comprend pas pourquoi

merci pour la solution urbain

Public Class Form1

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        'pyramide tronquée
        'Commentaires : petite longueur ( petit a')
        Dim n1 As Double
        Dim n2 As Double
        Double.TryParse(TextBox1.Text, n1)
        Double.TryParse(TextBox2.Text, n2)
        TextBox3.Text = (n1 * n2).ToString()

    End Sub

    Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
        'pyramide tronquée
        'Commentaires : petite largeur ( petit b')
        Dim n1 As Double
        Dim n2 As Double
        Double.TryParse(TextBox1.Text, n1)
        Double.TryParse(TextBox2.Text, n2)
        TextBox3.Text = (n1 * n2).ToString()

    End Sub

    Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged
        'pyramide tronquée
        'Commentaires :longueur X largeur petit ( aire 1)
        Dim n1 As Double
        Dim n2 As Double
        Double.TryParse(TextBox1.Text, n1)
        Double.TryParse(TextBox2.Text, n2)
        TextBox3.Text = (n1 * n2).ToString()

        'pyramide tronquée
        'Commentaires : ( aire 2) + ( aire 1)
        Dim n6 As Double
        Dim n3 As Double
        Double.TryParse(TextBox6.Text, n6)
        Double.TryParse(TextBox3.Text, n3)
        TextBox7.Text = (n6 + n3).ToString()

        'pyramide tronquée
        'Commentaires : ( aire 2) X ( aire 1)
        Dim n6 As Double
        Dim n3 As Double
        Double.TryParse(TextBox6.Text, n6)
        Double.TryParse(TextBox3.Text, n3)
        TextBox8.Text = (n6 * n3).ToString()
    End Sub

    Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged
        'pyramide tronquée
        'Commentaires : grande longueur ( grand A)
        Dim n4 As Double
        Dim n5 As Double
        Double.TryParse(TextBox4.Text, n4)
        Double.TryParse(TextBox5.Text, n5)
        TextBox6.Text = (n4 * n5).ToString()
    End Sub

    Private Sub TextBox5_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox5.TextChanged
        'pyramide tronquée
        'Commentaires : grande largeur ( grand B)
        Dim n4 As Double
        Dim n5 As Double
        Double.TryParse(TextBox4.Text, n4)
        Double.TryParse(TextBox5.Text, n5)
        TextBox6.Text = (n4 * n5).ToString()
    End Sub

    Private Sub TextBox6_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox6.TextChanged
        'pyramide tronquée
        'Commentaires :longueur X largeur grand ( aire 2)
        Dim n4 As Double
        Dim n5 As Double
        Double.TryParse(TextBox4.Text, n4)
        Double.TryParse(TextBox5.Text, n5)
        TextBox6.Text = (n4 * n5).ToString()

        'pyramide tronquée
        'Commentaires : ( aire 2) + ( aire 1)
        Dim n6 As Double
        Dim n3 As Double
        Double.TryParse(TextBox6.Text, n6)
        Double.TryParse(TextBox3.Text, n3)
        TextBox7.Text = (n6 + n3).ToString()

        'pyramide tronquée
        'Commentaires : ( aire 2) X ( aire 1)
        Dim n6 As Double
        Dim n3 As Double
        Double.TryParse(TextBox6.Text, n6)
        Double.TryParse(TextBox3.Text, n3)
        TextBox8.Text = (n6 * n3).ToString()
     
    End Sub

    Private Sub TextBox7_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox7.TextChanged
        'pyramide tronquée
        'Commentaires : ( aire 2) + ( aire 1)
        Dim n6 As Double
        Dim n3 As Double
        Double.TryParse(TextBox6.Text, n6)
        Double.TryParse(TextBox3.Text, n3)
        TextBox7.Text = (n6 + n3).ToString()
    End Sub

    Private Sub TextBox8_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox8.TextChanged
        'pyramide tronquée
        'Commentaires : ( aire 2) X ( aire 1)
        Dim n6 As Double
        Dim n3 As Double
        Double.TryParse(TextBox6.Text, n6)
        Double.TryParse(TextBox3.Text, n3)
        TextBox8.Text = (n6 * n3).ToString()
       
    End Sub

    Private Sub TextBox9_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox9.TextChanged
        'pyramide tronquée
        ' Commentaires : aire 1 X aire 2 ( racine carré )

    End Sub
    Private Sub TextBox10_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox10.TextChanged
        ' Commentaires :(aire 1 X aire 2 ) + ( la racine carré )
    End Sub
    Private Sub TextBox11_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox11.TextChanged
        'pyramide tronquée
        'Commentaires : ( Hauteur : 3 )
    End Sub

    Private Sub Label9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label9.Click

    End Sub

    Private Sub Label10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label10.Click

    End Sub

    Private Sub TabPage2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabPage2.Click

    End Sub

   
    

End Class
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
16 juil. 2018 à 16:52
Merci de faire un effort et d’utiliser la coloration pour poster ton code.
Je t’ai mis le lien vers la procedure dans ma première intervention.
En l’état c’est illisible, donc je ne lis pas.

Le message d’erreur veut dire que tu as ecrit 2 fois
Dim n3 as quelqueChose ' C’est mieux en couleur non?
dans une même portée, c’est à dire entre le début d’une « instruction » (class, sub, if, etc) et le end associé
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
16 juil. 2018 à 18:48
Maintenant que KX a mis de la coloration (merci à lui), c'est lisible et scrollable horizontalement et verticalement.

n6 et n3 sont déclarées 2 fois dans TextBox3_TextChanged
    Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged
        'pyramide tronquée
        'Commentaires :longueur X largeur petit ( aire 1)
        Dim n1 As Double
        Dim n2 As Double
        Double.TryParse(TextBox1.Text, n1)
        Double.TryParse(TextBox2.Text, n2)
        TextBox3.Text = (n1 * n2).ToString()

        'pyramide tronquée
        'Commentaires : ( aire 2) + ( aire 1)
        Dim n6 As Double 'ici---------------------------------------
        Dim n3 As Double
        Double.TryParse(TextBox6.Text, n6)
        Double.TryParse(TextBox3.Text, n3)
        TextBox7.Text = (n6 + n3).ToString()

        'pyramide tronquée
        'Commentaires : ( aire 2) X ( aire 1)
        Dim n6 As Double 'et là---------------------------------------
        Dim n3 As Double
        Double.TryParse(TextBox6.Text, n6)
        Double.TryParse(TextBox3.Text, n3)
        TextBox8.Text = (n6 * n3).ToString()
    End Sub
0
pascal16m Messages postés 73 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 12 novembre 2020
Modifié le 16 juil. 2018 à 19:04
la portée, c'est là où les variables existent informatiquement

       
Dim n6 As Double
        Dim n3 As Double
        Double.TryParse(TextBox6.Text, n6)
        Double.TryParse(TextBox3.Text, n3)
        TextBox7.Text = (n6 + n3).ToString()

        'pyramide tronquée
        'Commentaires : ( aire 2) X ( aire 1)
        Dim n6 As Double
        Dim n3 As Double
        Double.TryParse(TextBox6.Text, n6)
        Double.TryParse(TextBox3.Text, n3)
        TextBox8.Text = (n6 * n3).ToString() 


tu peux réutiliser les variable n3 et n6 pour la pyramide :

       
        Dim n6 As Double
        Dim n3 As Double
        Double.TryParse(TextBox6.Text, n6)
        Double.TryParse(TextBox3.Text, n3)
        TextBox7.Text = (n6 + n3).ToString()

        'pyramide tronquée
        'Commentaires : ( aire 2) X ( aire 1)
        Double.TryParse(TextBox6.Text, n6)
        Double.TryParse(TextBox3.Text, n3)
        TextBox8.Text = (n6 * n3).ToString()


les variables déclarées dans la sub sont détruites à la sortie de Sub TextBox6_TextChanged


EDIT : Correction des balises de code (jordane)

--
0
urbain19 Messages postés 17 Date d'inscription samedi 14 juillet 2018 Statut Membre Dernière intervention 26 juillet 2018
17 juil. 2018 à 08:03
bonjour a tous
je vient de faire un essais pour mettre la couleur je n arrive pas a le fait

( exemple : 1 )

   Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged

'Commentaires :petite largeur ( petit b')
Dim n1 As Double
Dim n2 As Double
Double.TryParse(TextBox1.Text, n1)
Double.TryParse(TextBox2.Text, n2)
TextBox3.Text = (n1 * n2).ToString()
End Sub

(exemple : 2)

   Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
        'Commentaires :petite largeur ( petit b')
        Dim n1 As Double
        Dim n2 As Double
        Double.TryParse(TextBox1.Text, n1)
        Double.TryParse(TextBox2.Text, n2)
        TextBox3.Text = (n1 * n2).ToString()
    End Sub


(exemple : 3)

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
'Commentaires :petite largeur ( petit b')
Dim n1 As Double
Dim n2 As Double
Double.TryParse(TextBox1.Text, n1)
Double.TryParse(TextBox2.Text, n2)
TextBox3.Text = (n1 * n2).ToString()
End Sub



j'ai prévisualiser pas de couleur ? , marche pas ou j'ai rien compris

(exemple : 4)

j'ai tout sélectionner puis j'ai cliquer sur basic ( rien )

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
        'Commentaires :petite largeur ( petit b')
        Dim n1 As Double
        Dim n2 As Double
        Double.TryParse(TextBox1.Text, n1)
        Double.TryParse(TextBox2.Text, n2)
        TextBox3.Text = (n1 * n2).ToString()
    End Sub


au secours .................
0
urbain19 Messages postés 17 Date d'inscription samedi 14 juillet 2018 Statut Membre Dernière intervention 26 juillet 2018
17 juil. 2018 à 08:05
au temps pour moi je vien de voir une fois valider ça marche
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
17 juil. 2018 à 08:15
Bonjour,

Quand tu prévisualises, il y a 2 fois ton message:
  • en bas, la zone de texte, encore en edition
  • haut dessus le résultat que cela donnera, si le message est long, ou si ton écran est petit, il faut « remonter » pour voir la prévisualisation.
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
17 juil. 2018 à 08:52
0
urbain19 Messages postés 17 Date d'inscription samedi 14 juillet 2018 Statut Membre Dernière intervention 26 juillet 2018
17 juil. 2018 à 11:15
Re bonjour c'est toujours le plus grand pénible
qui vous embête tout le temps .

j'ai fait la racine carré et deviné la suite (erreurs )

merci d' avance pour votre compréhension

Private Sub TextBox8_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox8.TextChanged
'pyramide tronquée
'Commentaires : ( aire 2) X ( aire 1)
Double.TryParse(TextBox6.Text, n6)
Double.TryParse(TextBox3.Text, n3)
TextBox8.Text = (n6 * n3).ToString()

End Sub



Private Sub TextBox9_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox9.TextChanged
'pyramide tronquée
'Commentaires : resultat du ( aire 2) X ( aire 1) calcul avec la racine carré

End Sub
Public Shared Function Sqrt(TextBox8.Text,n8)
ByVal d As Double
) As Double

End Function
End Class
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pascal16m Messages postés 73 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 12 novembre 2020
18 juil. 2018 à 09:06
TB=textbox ou sa fonction associée ou son texte ou sa valeur

Quand tu changes la valeur en TB19, si il y a problème, ça met "nan"="not a number"="le résultat n'est pas mathématiquement un nombre"

TB19 met à jour TB13 qui récupère l'erreur

TB19 se met à jour avec TB19, ce qui n'est pas top et peut provoquer une boucle infinie
	Dim num1 As Integer
num1 = Val(TextBox18.Text)
TextBox19.Text = Math.Sqrt(num1)

'pyramide tronquée
'Commentaires :volume de la pyramide

Dim n10 As Double
Dim n19 As Double
Double.TryParse(TextBox10.Text, n10)
Double.TryParse(TextBox19.Text, n19)
TextBox13.Text = (n10 * n19).ToString()


Val peut donner des résultats très spéciaux, et ignore tout ce qui est après la virgule
de plus, la racine carré prend un double en entrée, elle reconverti "num1" en double
fais comme ailleurs double.tryparse

les autre problèmes viennent de la "culture info", les virgule


--
0
pascal16m Messages postés 73 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 12 novembre 2020
18 juil. 2018 à 09:57
tu affectes TB10*TB19 à TB13 et aussi sqrt(TB18) à TB13, tu as plein de références croisées de TB12 à TB19
dans TB12, enlèves ton code, il est déjà mis à jour par TB11.

variables globales.
Attention, deux actions peuvent se faire en même temps, si certaines prennent et d'autre modifient une variable, tu ne sais pas si c'est la valeur modifiée ou non modifiée qui est prise en compte. Il vaut mieux passer par des variables locales comme tu avais fait au départ.

le début est clair TB1-2-4-5 sont les entrée, le reste de l'affichage
TB1 TB2 sont des entrées
TB1*TB2- va dans TB3 si on modifie TB1 ou TB2
TB3 est une sortie (non modifiable si on veut une cohérence, attribut readonly)

TB6 et TB3 sont des entrée (readonly)
TB3 + TB6 va dans TB7
TB3 * TB6 va dans TB8
TB7 et TB8 sont des sorties (readonly)

TB4 TB5 sont des entrées
TB4*TB5 va dans TB6
TB5-TB2 va dans TB14
TB6 et TB14 sont des sorties (readonly)

TB8 est une entree readonly
sqrt(TB8) va dans TB9
TB9 est une sortie( readonly)

TB7 et TB9 sont des entrée (readonly)
TB7 + TB9 va dans TB10
TB10 sortie (readonly)
0
pascal16m Messages postés 73 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 12 novembre 2020
Modifié le 21 juil. 2018 à 13:10
Apres avoir enlevé les TB qui ont e sortie leur propre valeur, enlevé les variables globales, mis des double pour les racines, l'analyse donne :
1-2-4-5 et 11 sont des entrées (celles qui ne sont jamais mise à jour par code)
étape 1
1+2->3
4*5->6
5-2>14
11/3->12
11*11->16
étape 2
3+6->7
3*6->8
14/2->15
étape 3
sqrt(8)->9
15*15->17
étape 4
7+9->10
16-17->18
étape 5
10*19->13
sqrt(18)->19
calculs fini

Private Sub Label10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

 End Sub
 Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

  'pyramide tronquée
  'Commentaires : petite longueur ( petit a')
  Dim n1 As Double
  Dim n2 As Double
  Double.TryParse(TextBox1.Text, n1)
  Double.TryParse(TextBox2.Text, n2)
  TextBox3.Text = (n1 * n2).ToString()

 End Sub

 Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged

  'pyramide tronquée
  'Commentaires :petite largeur ( petit b')
  Dim n1 As Double
  Dim n2 As Double
  Double.TryParse(TextBox1.Text, n1)
  Double.TryParse(TextBox2.Text, n2)
  TextBox3.Text = (n1 * n2).ToString()


  'THEOREME DE PYTHAGORE
  'grande largeur -petite largeur 
  Dim n5 As Double
  Double.TryParse(TextBox5.Text, n5)
  Double.TryParse(TextBox2.Text, n2)
  TextBox14.Text = (n5 - n2).ToString()

 End Sub



 Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged


  'pyramide tronquée
  'Commentaires : ( aire 2 ) + ( aire 1 )
  Dim n6 As Double
  Dim n3 As Double
  Double.TryParse(TextBox6.Text, n6)
  Double.TryParse(TextBox3.Text, n3)
  TextBox7.Text = (n6 + n3).ToString()


  'pyramide tronquée
  'Commentaires : ( aire 2) X ( aire 1)
  Double.TryParse(TextBox6.Text, n6)
  Double.TryParse(TextBox3.Text, n3)
  TextBox8.Text = (n6 * n3).ToString()


 End Sub
 Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged

  'pyramide tronquée
  'Commentaires :grande longueur ( grand A)
  Dim n4 As Double
  Dim n5 As Double
  Double.TryParse(TextBox4.Text, n4)
  Double.TryParse(TextBox5.Text, n5)
  TextBox6.Text = (n4 * n5).ToString()


 End Sub

 Private Sub TextBox5_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox5.TextChanged

  'pyramide tronquée
  'Commentaires :grande largeur ( grand B)
  Dim n4 As Double
  Dim n5 As Double
  Double.TryParse(TextBox4.Text, n4)
  Double.TryParse(TextBox5.Text, n5)
  TextBox6.Text = (n4 * n5).ToString()


  'THEOREME DE PYTHAGORE
  'grande largeur -petite largeur 
  Dim n2 As Double
  Double.TryParse(TextBox5.Text, n5)
  Double.TryParse(TextBox2.Text, n2)
  TextBox14.Text = (n5 - n2).ToString()

 End Sub

 Private Sub TextBox6_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox6.TextChanged

  'pyramide tronquée
  'Commentaires : ( aire 2 ) + ( aire 1 )
  Dim n6 As Double
  Dim n3 As Double
  Double.TryParse(TextBox6.Text, n6)
  Double.TryParse(TextBox3.Text, n3)
  TextBox7.Text = (n6 + n3).ToString()


  'pyramide tronquée
  'Commentaires : ( aire 2) X ( aire 1)
  Double.TryParse(TextBox6.Text, n6)
  Double.TryParse(TextBox3.Text, n3)
  TextBox8.Text = (n6 * n3).ToString()


 End Sub

 Private Sub TextBox7_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox7.TextChanged

  'pyramide tronquée
  'Commentaires : resultat du ( aire 1 ) + ( aire 2 )  + le resultat de la racine carre
  Dim n7, n9 As Double
  Double.TryParse(TextBox7.Text, n7)
  Double.TryParse(TextBox9.Text, n9)
  TextBox10.Text = (n7 + n9).ToString()

 End Sub

 Private Sub TextBox8_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox8.TextChanged

  'pyramide tronquée
  'Commentaires : resultat du ( aire 2) X ( aire 1) calcul avec la racine carré

  Dim num1 As Double
  Double.TryParse(TextBox8.Text, num1)
  TextBox9.Text = Math.Sqrt(num1)
 End Sub


 Private Sub TextBox9_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox9.TextChanged

  'pyramide tronquée
  'Commentaires : resu ltat du ( aire 1 ) + ( aire 2 )  + le resultat de la racine carre
  Dim n7, n9 As Double
  Double.TryParse(TextBox7.Text, n7)
  Double.TryParse(TextBox9.Text, n9)
  TextBox10.Text = (n7 + n9).ToString()
 End Sub

 Private Sub TextBox10_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox10.TextChanged

  'pyramide tronquée
  'Commentaires :volume de la pyramide

  Dim n10, n19 As Double
  Double.TryParse(TextBox10.Text, n10)
  Double.TryParse(TextBox19.Text, n19)

  TextBox13.Text = (n10 * n19).ToString()
 End Sub


 Private Sub TextBox11_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox11.TextChanged
  'pyramide tronquée
  'Commentaires : resultat de la hauteur de la pente
  Dim n11 As Double
  Double.TryParse(TextBox11.Text, n11)
  TextBox12.Text = (n11 / 3).ToString()

  'THEOREME DE PYTHAGORE
  'la hauteur de la pente multiplier par lui même
  Double.TryParse(TextBox11.Text, n11)
  TextBox16.Text = (n11 * n11).ToString()
 End Sub
 Private Sub TextBox12_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox12.TextChanged

 End Sub


 Private Sub TextBox13_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox13.TextChanged


 End Sub


 Private Sub TextBox14_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox14.TextChanged

  'THEOREME DE PYTHAGORE
  'grande largeur -petite largeur diviser par 2
  Dim n14 As Double
  Double.TryParse(TextBox14.Text, n14)
  TextBox15.Text = (n14 / 2).ToString()

 End Sub

 Private Sub TextBox15_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox15.TextChanged

  'THEOREME DE PYTHAGORE
  'la division par 2 multiplier par lui même
  Dim n15 As Double
  Double.TryParse(TextBox15.Text, n15)
  TextBox17.Text = (n15 * n15).ToString()

 End Sub


 Private Sub TextBox16_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox16.TextChanged
  'THEOREME DE PYTHAGORE
  'la hauteur de la pente multiplier par lui même
  Dim n16, n17 As Double
  'THEOREME DE PYTHAGORE
  'soustraire le resultat des multiplication
  Double.TryParse(TextBox17.Text, n17)
  Double.TryParse(TextBox16.Text, n16)
  TextBox18.Text = (n16 - n17).ToString()
 End Sub



 Private Sub TextBox17_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox17.TextChanged
  Dim n16, n17 As Double
  'THEOREME DE PYTHAGORE
  'soustraire le resultat des multiplication
  Double.TryParse(TextBox17.Text, n17)
  Double.TryParse(TextBox16.Text, n16)
  TextBox18.Text = (n16 - n17).ToString()

 End Sub

 Private Sub TextBox18_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox18.TextChanged

  ' resultat des multiplication racine carre
  Dim num1 As Double
  Double.TryParse(TextBox18.Text, num1)
  TextBox19.Text = Math.Sqrt(num1)
 End Sub



 Private Sub TextBox19_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox19.TextChanged

  'pyramide tronquée
  'Commentaires :volume de la pyramide

  Dim n10 As Double
  Dim n19 As Double
  Double.TryParse(TextBox10.Text, n10)
  Double.TryParse(TextBox19.Text, n19)
  TextBox13.Text = (n10 * n19).ToString()
 End Sub


EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

--
0
urbain19 Messages postés 17 Date d'inscription samedi 14 juillet 2018 Statut Membre Dernière intervention 26 juillet 2018
20 juil. 2018 à 12:24
bonjour a tous
je viens de m'apercevoir quant je fait une division le calcule et faut

30 : 2 = 1450 ( au lieu de 15.00 )

merci de m'aider urbain

    Private Sub TextBox14_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox14.TextChanged
        'THEOREME DE PYTHAGORE
        'Commentaires : ( b - b' ) :2     ajouter le code dans ( TB14  ) pas dans TB15


        Dim n14 As Double
        Double.TryParse(TextBox9.Text, n14)
        TextBox15.Text = (n14 / 2).ToString()

    End Sub

    Private Sub TextBox15_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox15.TextChanged


    End Sub
0
urbain19 Messages postés 17 Date d'inscription samedi 14 juillet 2018 Statut Membre Dernière intervention 26 juillet 2018
20 juil. 2018 à 12:28
bonjour a tous
c'est ma faute TB9 au lieu de TB14



    Private Sub TextBox14_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox14.TextChanged
        'THEOREME DE PYTHAGORE
        'Commentaires : ( b - b' ) :2     ajouter le code dans ( TB14  ) pas dans TB15


        Dim n14 As Double
        Double.TryParse(TextBox14.Text, n14)
        TextBox15.Text = (n14 / 2).ToString()

    End Sub

    Private Sub TextBox15_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox15.TextChanged


    End Sub
0
urbain19 Messages postés 17 Date d'inscription samedi 14 juillet 2018 Statut Membre Dernière intervention 26 juillet 2018
20 juil. 2018 à 12:34
re bonjour

comment peut t'on arrondir les chiffre après la virgule

quant je tape le chiffre 14 il fait ( 4,66666666666666) et ça fausse tout les autre résultat des textbox

14 : 3 = 4.66

merci

   Private Sub TextBox11_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox11.TextChanged

        'Commentaires : ( HAUTEUR) : 3 ajouter le code dans ( TB11 ) pas dans le TB12
        Dim n11 As Double
        Double.TryParse(TextBox11.Text, n11)
        TextBox12.Text = (n11 / 3).ToString()

    End Sub

    Private Sub TextBox12_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox12.TextChanged


    End Sub
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
20 juil. 2018 à 13:27
Là tu es face à 3 problèmes:
  • des maths
  • la technologie
  • mauvaise conception de ton logiciel


Concernant les maths, on ne peut pas écrire la valeur vraie de 14/3 autrement que 14/3.
Et 4.6666666666 est plus proche de la vérité que 4.66.
En plus 4.66 ça n’est pas arrondi (l’arrondi c’est 4.67), c’est tronqué.

Concernant la technologie, imagine une calculatrice qui travaille en notation scientifique, avec 4 caractère pour la mantisse (y compris le poin) et 2 pour l’exposant.
D’abord le nombre le plus grand possible pour elle est 9999 E99, au-delà « ça n’existe pas ». Et en dessous de cette valeur, il y a plein de nombres qu’elle ne peut pas représenter, par exemple tout ce qui est entre 1.34E12 et 1.35E12 « n’existe pas non plus » c’est donc interprété comme 1.34E12 ou 1.35E12.
C’est ce qu’on appelle un nombre à virgule flottante.
En informatique ça marche de façon similaire avec une mantisse et un exposant binaire, puisqu’un ordinateur marche en binaire.
Plus d’infos https://fr.wikipedia.org/wiki/Virgule_flottante

Enfin la conception, comme tu débutes, tu fais une erreur classique, que même certains vieux de la vieille continue à faire: tu fais tes calculs à partir de texte.
Quand on fais un calcul sur papier, quand on l’ecrit, c’est du texte, mais dans notre tête ça devient un nombre
Tu convertis le texte en nombres, tu fais tes calculs et tu convertis le résultat en texte.
Puis tu reprends le texte du résultat que tu reconvertis en nombre etc...
À chaque conversion, tu perds de l’information.

En mélangeant ces 3 problèmes, tu peux arriver à fausser plus ou moins tes résultats.
Les maths et la technologie, tu dois faire avec.
Par contre pour la conception, tu peux limiter les dégâts.

Il est d’abord fortement conseillé d’utiliser un nom explicite pour les contrôles: quelques caractères pour le type et quelques caractères pour l’utilité. Par exemple tbxHauteur pour le textBox qui affiche une hauteur, ou butCalVolSphere pour le bouton qui lance le calcul du volume d’une sphère.

Pour les calculs
  • Il faut commencer par convertir les entrées une seule fois.
  • Il faut utiliser des noms de variables explicites, hauter, largeur profondeur, c’est bien plus parlant que n1, n2, n3.
  • Les calculs intermédiaires sont stockés dans des variables de type nombre (Double par exemple), même si tu veux les afficher
  • Les calculs suivants sont réalisés à partir des ces variables, leurs résultats sont stockés dans d’autre variables de type nombre, et ainsi de suite.
  • Aucun arrondi n’est fait sur ces variables
  • L’affichage s’effectue à partir de la variable adéquate, et le formatage (arrondi par exemple) n’arrive que là


Tu verras qu’il est rapidement pénible de gérer les conversions et les formatages de cette façon.
C’est pénible, mais tout le monde peut/veut le faire.

Cependant, VB.Net est un langage objet, bénéficiant d’un outils fort pratique : le binding.
Il faut d’un côté un ou des objets métiers qui font les calculs et une inteface de l’autre. Le bindig, c’est le « truc » qui va faire le lien entre les 2, gérer les conversions, le formatage et tout ça entre plusieurs contrôles, voir formulaires.
Mais ça nécessite un travail sur soi, pour penser autrement sa programmation que tout le monde ne peut/veut pas faire.
Par curiosité tu peux lire https://codes-sources.commentcamarche.net/faq/1291-utilisation-du-binding-au-travers-de-l-objet-databindingsource
Et si tu y vois ton intérêt alors lit aussi
https://codes-sources.commentcamarche.net/faq/11239-la-programmation-objet-appliquee-a-net-par-l-exemple-partie-1-sur-3

Dernière info, en winform le binding reste assez limité, en WPF, c’est le coeur de l’interface, si tu comptes passer à WPF prend de suite de bonnes habitudes
0
pascal16m Messages postés 73 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 12 novembre 2020
20 juil. 2018 à 14:37
Si tu remplaces .ToString() par ToString("#.##"), l'affichage va se limiter à 2 chiffres après la virgule, mais comme on repart des valeurs affichées, les calculs seront tronqués donc moins précis. Si ce n'est pas la précision que tu cherches, ça marche.
0
urbain19 Messages postés 17 Date d'inscription samedi 14 juillet 2018 Statut Membre Dernière intervention 26 juillet 2018
20 juil. 2018 à 15:17
je vous remercie pour tous vos conseil, vous êtes des dieux
0
Rejoignez-nous