SOMA DE CAIXAS DE TEXT NÃO FUNCIONAM

MIKAELPAVAO 16/10/2014 17:27:05
#441986
Ola pessoal!
Estou com um problema aqui com meu prog pois quando tento somar as porcentagens dos campos e subtrair do preço de venda não ocorre o calculo exato.
  Private Sub CbCalcular_Click()
[ô]validação para não dar erro no calculo
If TbPrecoVenda.Value = [Ô][Ô] Or selecaoEstado.Value = [Ô]-------------------[Ô] Then
MsgBox ([Ô]Erro verifique o estado e/ou valor de venda![Ô])
Else

[ô]variaveis para calcular
Dim cofins As Double
Dim ipi As Double
Dim pis As Double
Dim icms As Double
Dim venda As Double
Dim impostos As Double


cofins = TbCofins.Value
ipi = TbIpi.Value
pis = Tbpis.Value
icms = TbIcms.Value
venda = TbPrecoVenda.Value


[ô]calculo para retornar a porcentagem
TbCofinsReais.Value = (venda * cofins / 100)
TbIcmsReais.Value = (venda * icms / 100)
TbIpiReais.Value = (venda * ipi / 100)
TbPisReais.Value = (venda * pis / 100)

TbPrecoProduto = (venda - CDbl(TbIpiReais)) + (CDbl(TbIcmsReais)) + (CDbl(TbPisReais)) + (CDbl(TbCofinsReais))
[ô]abaixo tem a configuração para memmostrar 2 casas depois da virgula
TbCofinsReais.Value = FormatNumber(TbCofinsReais.Value, 2)
TbIcmsReais.Value = FormatNumber(TbIcmsReais.Value, 2)
TbIpiReais.Value = FormatNumber(TbIpiReais.Value, 2)
TbPisReais.Value = FormatNumber(TbPisReais.Value, 2)
TbPrecoProduto.Value = Format(TbPrecoProduto.Value, [Ô]#,##0.00[Ô])
TbPrecoVenda.Value = Format(TbPrecoVenda.Value, [Ô]#,##0.00[Ô])
[ô]Tbpis.Value = Format(Tbpis.Value, [Ô]#,##0.00[Ô])

TbPrecoVenda.SetFocus
End If
End Sub

Esta e a foto para terem uma melhor ideia de como acontece o calculo

JONATHANSTECKER 16/10/2014 17:57:27
#441989
Resposta escolhida
Se eu entendi direito, acho que você está errando na hora de calcular... Ve se dessa forma resolve:

Private Sub CbCalcular_Click()
[ô]validação para não dar erro no calculo
If TbPrecoVenda.Value = [Ô][Ô] Or selecaoEstado.Value = [Ô]-------------------[Ô] Then
MsgBox ([Ô]Erro verifique o estado e/ou valor de venda![Ô])
Else

[ô]variaveis para calcular
Dim cofins As Double
Dim ipi As Double
Dim pis As Double
Dim icms As Double
Dim venda As Double
Dim impostos As Double


cofins = TbCofins.Value
ipi = TbIpi.Value
pis = Tbpis.Value
icms = TbIcms.Value
venda = TbPrecoVenda.Value


[ô]calculo para retornar a porcentagem
TbCofinsReais.Value = (venda * cofins / 100)
TbIcmsReais.Value = (venda * icms / 100)
TbIpiReais.Value = (venda * ipi / 100)
TbPisReais.Value = (venda * pis / 100)

[txt-color=#e80000]TbPrecoProduto = venda - CDbl(TbIpiReais) - CDbl(TbIcmsReais) - CDbl(TbPisReais) - CDbl(TbCofinsReais)[/txt-color]
[ô]abaixo tem a configuração para memmostrar 2 casas depois da virgula
TbCofinsReais.Value = FormatNumber(TbCofinsReais.Value, 2)
TbIcmsReais.Value = FormatNumber(TbIcmsReais.Value, 2)
TbIpiReais.Value = FormatNumber(TbIpiReais.Value, 2)
TbPisReais.Value = FormatNumber(TbPisReais.Value, 2)
TbPrecoProduto.Value = Format(TbPrecoProduto.Value, [Ô]#,##0.00[Ô])
TbPrecoVenda.Value = Format(TbPrecoVenda.Value, [Ô]#,##0.00[Ô])
[ô]Tbpis.Value = Format(Tbpis.Value, [Ô]#,##0.00[Ô])

TbPrecoVenda.SetFocus
End If
End Sub

MIKAELPAVAO 16/10/2014 18:10:10
#441990
isto mesmo era a maneira que eu estava subtriando os impostos

muito obrigado
Tópico encerrado , respostas não são mais permitidas