Vídeo recomendado
https://youtu.be/diWPPPhW-9E

FORMATAR TEXTBOX NUMERO DE CELULAR E TELEFONE 9º DIGITO

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
maiconsnp
Colaborador
Colaborador
Mensagens: 30
Registrado em: Qui Jun 05, 2014 10:37 pm

FORMATAR TEXTBOX NUMERO DE CELULAR E TELEFONE 9º DIGITO

Mensagem por maiconsnp »

Boa Tarde Pessoal, tenho o seguinte códigos que fazem a formatação dos textbox celular e Telefone ambos isso dividida em duas textbox.

esse formata a textebox Telefone
'Limita a Qde de caracteres
txt_telefone.MaxLength = 14

'Aplicar formato (xx)xxxx-xxxx
If Len(txt_telefone) = 0 Then txt_telefone.Text = txt_telefone.Text & "("
If Len(txt_telefone) = 3 Then txt_telefone.Text = txt_telefone.Text & ") "
If Len(txt_telefone) = 9 Then txt_telefone.Text = txt_telefone.Text & "-"

--------------------------------------------------------------------------------------------------------------
esse formata a textbox Celular

'Limita a Qde de caracteres
txt_celular.MaxLength = 15

'Aplicar formato (xx)xxxx-xxxx
If Len(txt_celular) = 0 Then txt_celular.Text = txt_celular.Text & "("
If Len(txt_celular) = 3 Then txt_celular.Text = txt_celular.Text & ") "
If Len(txt_celular) = 10 Then txt_celular.Text = txt_celular.Text & "-"

pretendo colocar esses dois em somente uma textbox ou seja que quando eu digitar, um numero que não contenha o 9º digito ele faça a sua formatação normal, a mesma regra vale para números com o 9º digito alguém poderia me auxiliar neste caso.
desde ja muito obrigado.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
netocasaroli
Consultor
Consultor
Mensagens: 219
Registrado em: Seg Mai 11, 2015 5:24 pm
Localização: Londrina-PR

Re: FORMATAR TEXTBOX NUMERO DE CELULAR E TELEFONE 9º DIGITO

Mensagem por netocasaroli »

Maicon,

Use seguinte código no evento AfterUpdate da textbox:

Código: Selecionar todos

Select Case True
    Case Len(txt_telefone) = 14
        txt_telefone = Format(txt_telefone, "(##) ####-####")
    Case Len(txt_telefone) = 15
        txt_telefone = Format(txt_telefone, "(##) #####-####")
End Select


maiconsnp
Colaborador
Colaborador
Mensagens: 30
Registrado em: Qui Jun 05, 2014 10:37 pm

Re: FORMATAR TEXTBOX NUMERO DE CELULAR E TELEFONE 9º DIGITO

Mensagem por maiconsnp »

netocasaroli escreveu:Maicon,

Use seguinte código no evento AfterUpdate da textbox:

Código: Selecionar todos

Select Case True
    Case Len(txt_telefone) = 14
        txt_telefone = Format(txt_telefone, "(##) ####-####")
    Case Len(txt_telefone) = 15
        txt_telefone = Format(txt_telefone, "(##) #####-####")
End Select
Ola Neto, fiz o processo conforme descrito acima porem não houve alteração ao digitar o numero digitados, seria possível executar uma condição if para esse caso?


obrigado por sua atenção


Avatar do usuário
netocasaroli
Consultor
Consultor
Mensagens: 219
Registrado em: Seg Mai 11, 2015 5:24 pm
Localização: Londrina-PR

Re: FORMATAR TEXTBOX NUMERO DE CELULAR E TELEFONE 9º DIGITO

Mensagem por netocasaroli »

Esse código deve ser executado após a atualização do valor da textbox. Pois só após o valor digitado a rotina terá condições de saber se há 14 ou 15 caracteres.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
netocasaroli
Consultor
Consultor
Mensagens: 219
Registrado em: Seg Mai 11, 2015 5:24 pm
Localização: Londrina-PR

Re: FORMATAR TEXTBOX NUMERO DE CELULAR E TELEFONE 9º DIGITO

Mensagem por netocasaroli »

Maicon,

Apenas algumas considerações: a instrução Select Case substitui a condição IF, pois as rotinas só serão executadas SE a condição descrita for atingida.

O seu código anterior alterava o texto conforme ia digitando (por meio do evento KeyPress, acredito). Nessa situação, há 2 máscaras de entrada: 1 para telefone fixos e outra para celular. O que indicará qual máscara deve ser usada é a quantidade de caracteres do campo. Esse número só teremos ao final da digitação; por isso as alterações não ocorrem no momento da digitação.


maiconsnp
Colaborador
Colaborador
Mensagens: 30
Registrado em: Qui Jun 05, 2014 10:37 pm

Re: FORMATAR TEXTBOX NUMERO DE CELULAR E TELEFONE 9º DIGITO

Mensagem por maiconsnp »

netocasaroli escreveu:Maicon,

Apenas algumas considerações: a instrução Select Case substitui a condição IF, pois as rotinas só serão executadas SE a condição descrita for atingida.

O seu código anterior alterava o texto conforme ia digitando (por meio do evento KeyPress, acredito). Nessa situação, há 2 máscaras de entrada: 1 para telefone fixos e outra para celular. O que indicará qual máscara deve ser usada é a quantidade de caracteres do campo. Esse número só teremos ao final da digitação; por isso as alterações não ocorrem no momento da digitação.

Boa Tarde Neto, fiz conforme sua indicação porem nao esta acontecendo nada no evento AfterUpdate
a estrutura esta desta forma
Private Sub txt_telefone_AfterUpdate()
Select Case True
Case Len(txt_telefone) = 14
txt_telefone = Format(txt_telefone, "(##) ####-####")
Case Len(txt_telefone) = 15
txt_telefone = Format(txt_telefone, "(##) #####-####")
End Select
End Sub

porem quando digito o código e sai do campo o numero não recebe a formatação.

forte abraço.


Avatar do usuário
netocasaroli
Consultor
Consultor
Mensagens: 219
Registrado em: Seg Mai 11, 2015 5:24 pm
Localização: Londrina-PR

Re: FORMATAR TEXTBOX NUMERO DE CELULAR E TELEFONE 9º DIGITO

Mensagem por netocasaroli »

Anexe seu modelo aqui no fórum para que possamos avaliar melhor.


maiconsnp
Colaborador
Colaborador
Mensagens: 30
Registrado em: Qui Jun 05, 2014 10:37 pm

Re: FORMATAR TEXTBOX NUMERO DE CELULAR E TELEFONE 9º DIGITO

Mensagem por maiconsnp »

netocasaroli escreveu:Anexe seu modelo aqui no fórum para que possamos avaliar melhor.

Boa Noite, Neto
segue conforme solicitado, o caso em questão esta no frm_orcamento no campo: telefone / celular
Prog.rar
(1.01 MiB) Baixado 568 vezes


Avatar do usuário
netocasaroli
Consultor
Consultor
Mensagens: 219
Registrado em: Seg Mai 11, 2015 5:24 pm
Localização: Londrina-PR

Re: FORMATAR TEXTBOX NUMERO DE CELULAR E TELEFONE 9º DIGITO

Mensagem por netocasaroli »

Maicon,

Desculpe... Falha minha! Considerei o texto já formatado e configurei errado a rotina. Segue código correto:

Código: Selecionar todos

Private Sub txt_telefone_AfterUpdate()
Select Case True
    Case Len(txt_telefone) = 10
        txt_telefone = Format(txt_telefone, "(##) ####-####")
    Case Len(txt_telefone) = 11
        txt_telefone = Format(txt_telefone, "(##) #####-####")
End Select

End Sub


maiconsnp
Colaborador
Colaborador
Mensagens: 30
Registrado em: Qui Jun 05, 2014 10:37 pm

Re: FORMATAR TEXTBOX NUMERO DE CELULAR E TELEFONE 9º DIGITO

Mensagem por maiconsnp »

netocasaroli escreveu:Maicon,

Desculpe... Falha minha! Considerei o texto já formatado e configurei errado a rotina. Segue código correto:

Código: Selecionar todos

Private Sub txt_telefone_AfterUpdate()
Select Case True
    Case Len(txt_telefone) = 10
        txt_telefone = Format(txt_telefone, "(##) ####-####")
    Case Len(txt_telefone) = 11
        txt_telefone = Format(txt_telefone, "(##) #####-####")
End Select

End Sub

Boa Tarde, Neto

Muito obrigado, aplicação rodando em perfeita condição. código 100% funcional.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder