Bonjour tous le monde !


Me revoila ! Et je ne viens jamais les mains vides !

Je suis entrain de realiser un programme pour calculer ses interets sur x annees.

Mon probleme n°1 :

Par defaut mes textBox recevant les données Budget/Taux/Duree contienne le caractere 0. Cependant si l'utilisateur efface 0 et laisse le textBox vide mon programme ne peut pas faire le calcul et donc il y a erreure ! Et je n'arrive pas vraiment a corriger cela.

Voici le code n°1 :

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
 
    Private Sub btnCalcul_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalcul.Click
 
        Dim Budget As Decimal = tbBudget.Text
        Dim Taux As Decimal = tbTaux.Text
        Dim Duree As Integer = tbDuree.Text
 
        Dim Total As Decimal = Budget * (1 + Taux / 100) ^ Duree
        Dim Gains As Double = Total - Budget
 
        Dim row0 As String() = {Budget & " €", Taux & " %", Duree & " année(s)", Gains & " €", Total & " €"}
 
        With Me.DataGridView.Rows
            .Add(row0)
        End With
 
        With Me.DataGridView
            .RowsDefaultCellStyle.BackColor = Color.White
            .AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray
        End With
 
    End Sub
Mon probleme n°2 :

Suivant le nombre d'annee a calculer... Nous pouvons atteindre une somme totale de 12345.012345678890 € ! J'aimerais ne pouvois laisser afficher que 2 nombre apres la virgule...

Mon probleme n°3 :

Je bride la saisie de mes textBox a des caracteres numeriques, ce qui empeche d'ecrire des lettres mais aussi la ponctuation et en particulier la virgule pour le nombre decimal. Comment pouvoir autorise la virgule ? J'ai trouve quelques trucs sur le net mais ca ne fonctionnait pas ou peut etre je n'arrivais tout simplement pas a l'integrer dans mon code, pas faute d'essayer !

Voici le code n°3

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
    Private Sub tbTaux_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles tbTaux.KeyPress
 
        If Not Char.IsDigit(e.KeyChar) Then
            e.Handled = True
        End If
 
    End Sub
De meme, si vous trouvez que l'on peu alleger mon code ou le raccourcir n'hesitez pas a me faire des propositions. Etant debutant je detailles tout et je suis certains que l'on peut surement faire le meme calcul ou la meme chose en moins de ligne...

Je vous remercie d'avance du temps passer a me lire, a m'analyser puis a m'aider.

Bonne journee a vous et bonne programmation !