CALCULO EM VB6 PORCENTAGEM
Olá galera!
txtFCusto.text = 500,00
txtMargem.text = 45%
txtValor.text = txtFCusto.text * txtMargem.text
Faço assim... para calcular o valor de venda do produto...
Só que o txtmargem.text, no evento LostFocus, ele teria que adicionar o sÃmbolo de [Ô]%[Ô] ao número digitado..
também teria que calcular o valor final de venda.. mesmo usando a máscara % no textbox....
e arremeter o valor para o txtvalor.text.
Só que sou uma negação na lógica, simples, matemática de programação...
então recorro à vocês.. Podem me ajudar?
Outra.. gostaria tb de gerar uma mesg de erro, caso o usuário digite um valor acima de 100.
txtFCusto.text = 500,00
txtMargem.text = 45%
txtValor.text = txtFCusto.text * txtMargem.text
Faço assim... para calcular o valor de venda do produto...
Só que o txtmargem.text, no evento LostFocus, ele teria que adicionar o sÃmbolo de [Ô]%[Ô] ao número digitado..
também teria que calcular o valor final de venda.. mesmo usando a máscara % no textbox....
e arremeter o valor para o txtvalor.text.
Só que sou uma negação na lógica, simples, matemática de programação...
então recorro à vocês.. Podem me ajudar?
Outra.. gostaria tb de gerar uma mesg de erro, caso o usuário digite um valor acima de 100.
PreçodeVenda = PreçodeCusto/(1-PorcentagemdaMargem)
A solução para os seus problemas...
[ô] Verifica se o valor do campo txtFCusto é maior que 100
Private Sub txtFCusto_LostFocus()
If Me.txtFCusto.Text > 100 Then
MsgBox [Ô]O valor não pode ser maior que 100[Ô], vbInformation, [Ô]Aviso![Ô]
Else
Call Calcula
End If
End Sub
[ô] é adicionado o simbolo de porcentagem(%) no Evento LostFocus do campo txtMargem
Private Sub txtMargem_LostFocus()
Me.txtMargem.Text = Replace(Me.txtMargem.Text, [Ô]%[Ô], [Ô][Ô])
Me.txtMargem.Text = Replace(Me.txtMargem.Text, [Ô] [Ô], [Ô][Ô])
Me.txtMargem.Text = Me.txtMargem.Text & [Ô] %[Ô]
Call Calcula
End Sub
[ô] Método que faz o cálculo dos dois TextBox
Private Sub Calcula()
If IsNumeric(Me.txtFCusto.Text) And IsNumeric(Replace(Me.txtMargem.Text, [Ô]%[Ô], [Ô][Ô])) Then
Me.txtValor.Text = Me.txtFCusto.Text * (Replace(Me.txtMargem.Text, [Ô]%[Ô], [Ô][Ô]) / 100)
End If
End Sub
Tenta assim:
[txt-color=#0000f0]Private Sub txtMargem_LostFocus()
txtMargem = Replace(txtMargem, [Ô]%[Ô], [Ô][Ô])
If Not IsNumeric(txtMargem) Then txtMargem = 0
If txtMargem > 100 Then
MsgBox [Ô]A margem não pode ser superior à 100[Ô]
txtMargem = 0
Exit Sub
End If
txtMargem = txtMargem & [Ô]%[Ô]
txtValor = Format(txtFCusto + (txtFCusto * Replace(txtMargem, [Ô]%[Ô], [Ô][Ô]) / 100), [Ô]#,##0.00[Ô])
End Sub[/txt-color]
[txt-color=#0000f0]Private Sub txtMargem_LostFocus()
txtMargem = Replace(txtMargem, [Ô]%[Ô], [Ô][Ô])
If Not IsNumeric(txtMargem) Then txtMargem = 0
If txtMargem > 100 Then
MsgBox [Ô]A margem não pode ser superior à 100[Ô]
txtMargem = 0
Exit Sub
End If
txtMargem = txtMargem & [Ô]%[Ô]
txtValor = Format(txtFCusto + (txtFCusto * Replace(txtMargem, [Ô]%[Ô], [Ô][Ô]) / 100), [Ô]#,##0.00[Ô])
End Sub[/txt-color]
Muito bem senhores
Eu entendi assim
txtFCusto.text = 500,00 = preço de compra do produto
txtMargem.text = 45% = margem de lucro do produto vendido
Então a fórmula para o cálculo é diferente; continua sendo preçodevenda=preçodecusto/(1-%margem)
Em custos, toda margem ou cálculo de impostos é sempre calculado pelo preço de venda e não pelo preço de custo
se acrescer 45% do preço de compra tem-se na verdade uma margem real de 31,03%, pois 45% de 500 = 225
preço de venda seria 725
Calculando pelo preço de venda
500 / (1 - 45%) = 909,09
margem de 45% de 909,09 = 409,09
909,09 - 409,09 = 500
preçodecusto = 500
margem = 409,09
preçodevenda = 909,09
Blz . . .
Eu entendi assim
txtFCusto.text = 500,00 = preço de compra do produto
txtMargem.text = 45% = margem de lucro do produto vendido
Então a fórmula para o cálculo é diferente; continua sendo preçodevenda=preçodecusto/(1-%margem)
Em custos, toda margem ou cálculo de impostos é sempre calculado pelo preço de venda e não pelo preço de custo
se acrescer 45% do preço de compra tem-se na verdade uma margem real de 31,03%, pois 45% de 500 = 225
preço de venda seria 725
Calculando pelo preço de venda
500 / (1 - 45%) = 909,09
margem de 45% de 909,09 = 409,09
909,09 - 409,09 = 500
preçodecusto = 500
margem = 409,09
preçodevenda = 909,09
Blz . . .
Posso ter entendido errado, mas não me atentei muito a respeito de como efetuar o cálculo,
pois o Adriano firmou que calculava dessa forma, e não deixou nenhuma dúvida de como seria o certo de se calcular.
Tentei passar como usar esse cálculo com algumas condições usando alguns eventos dos controles.
pois o Adriano firmou que calculava dessa forma, e não deixou nenhuma dúvida de como seria o certo de se calcular.
Citação:txtValor.text = txtFCusto.text * txtMargem.text
Faço assim... para calcular o valor de venda do produto...
Tentei passar como usar esse cálculo com algumas condições usando alguns eventos dos controles.
vou testar.. e dou retorno.. Estou sem net.. uso a da casa da minha prima... mas se alguém souber de algo mais.. pode ir colocando .. que dou retorno..
Sem brincadeira... nunca vi 45% de 500,00 ser 409,09!!!
Essa é novidade!!! mas fazer o que né.... como diz o TE2... cada cachorro que lamba sua caceta!!!
Essa é novidade!!! mas fazer o que né.... como diz o TE2... cada cachorro que lamba sua caceta!!!
EU SEI EXATAMENTE O Q VC ESTA PASSANDO, JA PASSEI POR ISSO E FALEI COM UM CONSULTOR FINANCEIRO E ELE ME PASSOU A ROTINA, VOU TE MANDA.
é pq 89,44 + 5,79%, financeiramente falando naum da 94,61 e sim 94,94
o resultado do 94,61 é matematicamente falando naum financeiramente, ai esta a codificação correta.
Dim xPercDig As Currency [ô]percentual digitado
Dim xPercDif As Currency [ô]Diferença do percentual
Dim xPrecoVenda As Currency [ô]Preço final
Dim xPrecoAnterior As Currency [ô]preço digitado
Dim xResultado As Currency
xPercDig = [Ô]5,79[Ô]
[ô][ô][ô]O VALOR AUMENTA
If xPercDig < 0 Then
xPercDif = 100 + xPercDig
xPrecoAnterior = [Ô]89,44[Ô]
xPrecoVenda = (xPrecoAnterior * xPercDif) / 100
Else
[ô]O VALOR DIMINUI
xPercDif = 100 - xPercDig
xPrecoAnterior = [Ô]89,44[Ô]
xPrecoVenda = (xPrecoAnterior / xPercDif) * 100
End If
xResultado = Format(xPrecoVenda, [Ô]##.#0,00[Ô])
SE NAUM ENTENDEU, ENTRA EM CONTATO
lauro_jls@ mail. com
é pq 89,44 + 5,79%, financeiramente falando naum da 94,61 e sim 94,94
o resultado do 94,61 é matematicamente falando naum financeiramente, ai esta a codificação correta.
Dim xPercDig As Currency [ô]percentual digitado
Dim xPercDif As Currency [ô]Diferença do percentual
Dim xPrecoVenda As Currency [ô]Preço final
Dim xPrecoAnterior As Currency [ô]preço digitado
Dim xResultado As Currency
xPercDig = [Ô]5,79[Ô]
[ô][ô][ô]O VALOR AUMENTA
If xPercDig < 0 Then
xPercDif = 100 + xPercDig
xPrecoAnterior = [Ô]89,44[Ô]
xPrecoVenda = (xPrecoAnterior * xPercDif) / 100
Else
[ô]O VALOR DIMINUI
xPercDif = 100 - xPercDig
xPrecoAnterior = [Ô]89,44[Ô]
xPrecoVenda = (xPrecoAnterior / xPercDif) * 100
End If
xResultado = Format(xPrecoVenda, [Ô]##.#0,00[Ô])
SE NAUM ENTENDEU, ENTRA EM CONTATO
lauro_jls@ mail. com
Acho que esse links esclarecem a confusão aÃ:
http://revistapegn.globo.com/Revista/Common/0,,EMI91389-17161,00-COMO+CALCULAR+A+MARGEM+DE+LUCRO+DE+UM+PRODUTO.html
http://br.answers.yahoo.com/question/index?qid=20080502131348AAAI3my
Eu ainda não entendo bem dessa área administrativa. Quando eu for produzir meu aplicativo comercial só sei que vou ter que estudar muito a arte de administrar.
http://revistapegn.globo.com/Revista/Common/0,,EMI91389-17161,00-COMO+CALCULAR+A+MARGEM+DE+LUCRO+DE+UM+PRODUTO.html
http://br.answers.yahoo.com/question/index?qid=20080502131348AAAI3my
Eu ainda não entendo bem dessa área administrativa. Quando eu for produzir meu aplicativo comercial só sei que vou ter que estudar muito a arte de administrar.
Tópico encerrado , respostas não são mais permitidas