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

FERIADOS BRASILEIROS(RESOLVIDO)

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
pasedo
Manda bem
Manda bem
Mensagens: 184
Registrado em: Ter Abr 20, 2010 8:32 pm

FERIADOS BRASILEIROS(RESOLVIDO)

Mensagem por pasedo »

Boa tarde pessoal, estou com esta planilha aqui com um modulo de funções de feriados brasileiros, preciso que ao digitar a data no textbox 1 e clicar no botão ele retorne o feriado no textbox 2 eu fiz ai mas ta retornado verdadeiro ou falso, acho que falta pouca coisa ai...fico grato a quem puder me ajudar.
Anexos
FERIADOS BRASILEIROS.rar
Arquivo para verificação
(26.55 KiB) Baixado 227 vezes
Editado pela última vez por pasedo em Ter Set 26, 2017 5:00 pm, em um total de 1 vez.


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
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: FERIADOS BRASILEIROS

Mensagem por Reinaldo »

Experimente alterar a rotina conforme segue:

Código: Selecionar todos

Private Sub CommandButton1_Click()
FeriadoBrasileiro (TextBox1.Text)
TextBox2.Text = NomeFeriado


pasedo
Manda bem
Manda bem
Mensagens: 184
Registrado em: Ter Abr 20, 2010 8:32 pm

Re: FERIADOS BRASILEIROS

Mensagem por pasedo »

Reinaldo escreveu: Sex Set 22, 2017 2:35 pm Experimente alterar a rotina conforme segue:

Código: Selecionar todos

Private Sub CommandButton1_Click()
FeriadoBrasileiro (TextBox1.Text)
TextBox2.Text = NomeFeriado
Reinaldo, muito obrigado deu certinho. Só não estou conseguindo os feriados por estados e os feriados móveis.Sabe como fazer? grato.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: FERIADOS BRASILEIROS

Mensagem por Reinaldo »

veja se auxilia
Anexos
FERIADOS BRASILEIROS.zip
(32.62 KiB) Baixado 224 vezes


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.


pasedo
Manda bem
Manda bem
Mensagens: 184
Registrado em: Ter Abr 20, 2010 8:32 pm

Re: FERIADOS BRASILEIROS

Mensagem por pasedo »

Reinaldo escreveu: Sáb Set 23, 2017 10:56 am veja se auxilia
Muito obrigado Reinaldo era isto mesmo, agora só falta eu descobrir como saber os feriados moveis vou tentar aqui. Deus o abençoe.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: FERIADOS BRASILEIROS

Mensagem por Reinaldo »

Respondi as duas solicitações que pediu, agora a demanda; no forum irmão http://www.planilhando.com.br/forum/vie ... 10&t=26089, e outra que não está clara, é difícil entender o que pretende.
O ideal seria ter exposto de primeira a sua intenção. E desanimador


pasedo
Manda bem
Manda bem
Mensagens: 184
Registrado em: Ter Abr 20, 2010 8:32 pm

Re: FERIADOS BRASILEIROS

Mensagem por pasedo »

Reinaldo escreveu: Sáb Set 23, 2017 1:39 pm Respondi as duas solicitações que pediu, agora a demanda; no forum irmão http://www.planilhando.com.br/forum/vie ... 10&t=26089, e outra que não está clara, é difícil entender o que pretende.
O ideal seria ter exposto de primeira a sua intenção. E desanimador

Reinaldo desculpe se não fui claro, mas eu te agradeço muito pelo que fez por mim, e ta legal o que fizeste e ta certinho, o que eu quero agora também é que ao digitar o ano no textbox 1 apareça no textbox 2 a data que cai a pascoa, o carnaval, o corpo crhist, (enfim os feriados móveis) e a a mesma coisa com a função de dias úteis e data futura

eu quero que seja em um mesmo formulário
as funções que faltam são estas
DATA FUTURA

Function DataFutura(DataInicial As Date, DiasUteis As Integer, Optional Estado As NomeEstado) As Date
'criada por Alexandre Neves
'em 2012-05-01
Dim Dias As Integer

DataFutura = DataInicial
For Dias = 1 To DiasUteis
Incrementa:
DataFutura = DateAdd("d", 1, DataFutura)
If FeriadoBrasileiro(DataFutura, Estado) Or Weekday(DataFutura) = 1 Or Weekday(DataFutura) = 7 Then GoTo Incrementa
Next
End Function


DIAS UTEIS

Function DiasUteisBrasileiros(DataInicial As Date, DataFinal As Date, Optional Estado As NomeEstado) As Integer
Dim DataAtual As Date
DiasUteisBrasileiros = 0
For DataAtual = DataInicial To DataFinal
If Not FeriadoBrasileiro(DataAtual, Estado) And Weekday(DataAtual) <> 1 And Weekday(DataAtual) <> 7 Then DiasUteisBrasileiros = DiasUteisBrasileiros + 1
Next
End Function

PASCOA
Function PascoaB(intAno As Integer) As Date
Dim x As Byte, y As Byte
Dim a As Byte, b As Byte, c As Byte, d As Byte, e As Byte

If intAno > 1581 And intAno < 1600 Then x = 22: y = 2
If intAno > 1599 And intAno < 1700 Then x = 22: y = 2
If intAno > 1699 And intAno < 1800 Then x = 23: y = 3
If intAno > 1799 And intAno < 1900 Then x = 23: y = 4
If intAno > 1899 And intAno < 2000 Then x = 24: y = 5
If intAno > 1999 And intAno < 2100 Then x = 24: y = 5
If intAno > 2099 And intAno < 2200 Then x = 24: y = 6
If intAno > 2199 And intAno < 2300 Then x = 25: y = 7

a = intAno Mod 19
b = intAno Mod 4
c = intAno Mod 7
d = ((19 * a) + x) Mod 30
e = ((2 * b) + (4 * c) + (6 * d) + y) Mod 7
If (d + e) < 10 Then
PascoaB = DateSerial(intAno, 3, d + e + 22)
Else
PascoaB = DateSerial(intAno, 4, d + e - 9)
End If
If PascoaB = DateSerial(intAno, 4, 26) Then PascoaB = DateAdd("d", -7, PascoaB)
If PascoaB = DateSerial(intAno, 4, 25) And d = 28 And a > 10 Then PascoaB = DateAdd("d", -7, PascoaB)
End Function

Function DiasUteisBrasileiros(DataInicial As Date, DataFinal As Date, Optional Estado As NomeEstado) As Integer
Dim DataAtual As Date
DiasUteisBrasileiros = 0
For DataAtual = DataInicial To DataFinal
If Not FeriadoBrasileiro(DataAtual, Estado) And Weekday(DataAtual) <> 1 And Weekday(DataAtual) <> 7 Then DiasUteisBrasileiros = DiasUteisBrasileiros + 1
Next
End Function

Mais uma vez obrigado Reinaldo.


pasedo
Manda bem
Manda bem
Mensagens: 184
Registrado em: Ter Abr 20, 2010 8:32 pm

Re: FERIADOS BRASILEIROS(Resolvido)

Mensagem por pasedo »

Ola bom dia a todos do forum, consegui resolver o que pretendia, falta alguns detalhes ainda, mas eu agradeço o Reinaldo por ter dado o pontapé inicial, estou postamdo o arquivo como eu queria, emais uma vez peço desculpas para o Reinaldo quando não fui muito claro no que eu queria, não disse no momento porque era muita coisa, então para aqueles que acompanhou o post segue anexado o arquivo corrigido.Espero que gostem. Abraços a todos do fórum.
Anexos
FERIADOS BRASILEIROS2.rar
arquivo corrigido
(76.09 KiB) Baixado 232 vezes


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