Alla fine, nelle mie sperimentazioni ho fatto così:Con cinque TextBox
La 1 per l'importo
La 2 per il rincaro
La 3 per l'importo rincarato
La 4 per l'IVA
La 5 per l'importo ivato
Durante la digitazione della
valuta, per costringere ad utilizzare solo numeri e/o la virgola, ho utilizzato questo codice:
Public Sub TextBox1_KeyRelease()
Dim vIntercetta As String
vIntercetta = TextBox1.Text
If Val(vIntercetta) Not Val(vIntercetta)
TextBox1.Text = ""
Endif
End
Durante la digitazione dei
rincari, per costringere ad utilizzare solo numeri interi, ho utilizzato questo codice:
Public Sub TextBox2_KeyRelease()
Dim vIntercetta As String
vIntercetta = TextBox2.Text
If Val(vIntercetta) Not Val(vIntercetta)
TextBox2.Text = ""
Endif
TextBox2.Text = Replace$(TextBox2.Text, ",", "")
End
Per effettuare il calcolo automatico, ho utilizzato questo codice che, per evitare errori nel calcolo:
1) Se i valori sono nulli mette lo zero
2) Toglie il simbolo dell'euro, se presente, per lasciare l'importo "pulito" da simboli
3) Effettua il calcolo ed assegna i valori
4) Riporta tutto al formato valuta aggiungendo il simbolo dell'euro
Public Sub TextBox1_LostFocus()
If TextBox1.Text = ""
TextBox1.Text = 0
Endif
If TextBox2.Text = ""
TextBox2.Text = 0
Endif
If TextBox4.Text = ""
TextBox4.Text = 0
Endif
TextBox1.Text = Replace$(TextBox1.Text, "€ ", "")
TextBox3.Text = Replace$(TextBox3.Text, "€ ", "")
TextBox5.Text = Replace$(TextBox5.Text, "€ ", "")
TextBox3.Text = Val(TextBox1.Text) + (Val(TextBox1.Text) / 100 * TextBox2.Text)
TextBox5.Text = TextBox3.Text + (TextBox3.Text / 100 * TextBox4.Text)
TextBox1.Text = Format$(Val(TextBox1.Text), "€ 0.00")
TextBox3.Text = Format$(TextBox3.Text, "€ 0.00")
TextBox5.Text = Format$(TextBox5.Text, "€ 0.00")
End
In allegato potete provare come funziona tenendo presente che il tasto calcola è solo per uscire "LostFocus()" dalle TextBox
Mi pare carino e abbastanza in linea con le mie aspettative, Voi che ne pensate ?
P.S.
Da Gian.... mi aspetto un voto