Reinitialiser variable dans Select Case
Bonjour à tous,
Je developpe une appli winFom pour estimer une facture EDF. J'ai une base de données qui recense les type d'abonnement et leur montant annuel.
L'utilisateur utilise un combo box pour sélection le type d'abo et le montant annuel apparait dans un label.
Ensuite j'ai un deuxième comboBox avec le nombre de mois ( de 1 a 12 ).
Si l'utilisateur décide que son estimation porte sur 3 mois il sélectionne 3 mois et le label s'actualiser automatiquement avec le bon résultat.
En revanche si l'utilisateur c'est trompé et que finalement il ne veut plus estimer sur 3 moi mais sur 6 par exemple, le calcule ce fait par rapport a la valeur de l'abonnement a 3 mois et non plus a un ans.
En gros a chaque changement de données dans le comboBox mois, le calcule ce fait sur la dernière valeur du label.
Voici mon code pour le calcule de l'abo en fonction du nombre de mois :
Code:
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 36 37 38 39 40 41 42
| Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox_mois.SelectedIndexChanged
If Me.Label_mt_abo.Text = Nothing Then
MsgBox("N'oublier pas de selectionner une puissance de compteur et un type d'abonnement ", MsgBoxStyle.OkOnly)
Else
'resulat arrondi a 2 decimal
Select Case Me.ComboBox_mois.SelectedIndex
Case 0
'resultat pour un mois par rapport au montant abonnement annuel
Me.Label_mt_abo.Text = Math.Round(CDbl(Me.Label_mt_abo.Text / 12), 2)
Case 1
'pour 2 mois
Me.Label_mt_abo.Text = Math.Round(CDbl((Me.Label_mt_abo.Text / 12) * 2), 2)
Case 2
'pour 3 mois ....
Me.Label_mt_abo.Text = Math.Round(CDbl((Me.Label_mt_abo.Text / 12) * 3), 2)
Case 3
Me.Label_mt_abo.Text = Math.Round(CDbl((Me.Label_mt_abo.Text / 12) * 4), 2)
Case 4
Me.Label_mt_abo.Text = Math.Round(CDbl((Me.Label_mt_abo.Text / 12) * 5), 2)
Case 5
Me.Label_mt_abo.Text = Math.Round(CDbl((Me.Label_mt_abo.Text / 12) * 6), 2)
Case 6
Me.Label_mt_abo.Text = Math.Round(CDbl((Me.Label_mt_abo.Text / 12) * 7), 2)
Case 7
Me.Label_mt_abo.Text = Math.Round(CDbl((Me.Label_mt_abo.Text / 12) * 8), 2)
Case 8
Me.Label_mt_abo.Text = Math.Round(CDbl((Me.Label_mt_abo.Text / 12) * 9), 2)
Case 9
Me.Label_mt_abo.Text = Math.Round(CDbl((Me.Label_mt_abo.Text / 12) * 10), 2)
Case 10
Me.Label_mt_abo.Text = Math.Round(CDbl((Me.Label_mt_abo.Text / 12) * 11), 2)
Case 11
Me.Label_mt_abo.Text = Math.Round(CDbl(Me.Label_mt_abo.Text), 2)
End Select
End If
End Sub |
Comment doit je faire pour que mon label garde ca valeur initial ?
Merci a vous,
cdl
Jerome