ADICIONANDO DATAS

RICOCARDOZO 01/04/2005 11:23:44
#76142
Bom dia a todos;
O que eu preciso é, por exemplo:

O cliente efetuou a compra e vai pagar em 4 vezes data da compra foi 01/02/05.
O dia escolhido para pagamento das próximas parcelas é 10 e o primeiro pag. vai ser feito em :

1 - 10/03/05
1 - 10/04/05
1 - 10/05/05
1 - 10/06/05

Sem se importar com sabádo domingos ou feriados, dias corridos.

Alguém pode me ajudar???
USUARIO.EXCLUIDOS 01/04/2005 11:43:10
#76147
Não lembro daonde copiei isso:

Calculo de Mensalidades
Digamos que você precise gerar 4 datas a partir de uma data digitada pelo usuário (para um controle de parcelas, por exemplo. No caso, seriam 5 parcelas). Veja:
Para isso usaremos a função DateAdd() que tem a seguinte sintáxe:
DateAdd(Intervalo,Numero,Data)

Intervalos:
"d" - Dias
"m" - Meses
"y" - Anos

Então ficaria:

Dim MyArray(4) As Date
Dim i As Integer
MyArray(0) = "21/03/2004"
For i = 1 To 4
MyArray(i) = DateAdd("m", i, "20/03/2004")
Next


Se não servir, tenho outras funções que resolvem isso, ok?

RICOCARDOZO 01/04/2005 18:01:24
#76279
Cara fiz de uma meneira q deu certo só q estou tentando bolar um jeito de fazer uma função tipo assim:

se a data de compra é 01/04/2005
tem um campo que voce preenche com os dias corridos para o vencimento.

se eu colocar 10, ele calcula para 11/04/2005 certo
se eu colocar 30 , ele calcula para 01/05/2005 certo
agora se eu colocar 30 , 60 e 90 ele calcula para
01/05/2005
01/06/2005
01/07/2005

Valeu...
USUARIO.EXCLUIDOS 01/04/2005 18:41:02
#76280
Resposta escolhida
Tente assim

Dim data as Date
Dim meses as Variant
Dim datafinal as Date
data = #[txt-color=#ff0000]01/04/2005[/txt-color]#
meses = 60 / [txt-color=#0000ff]30[/txt-color] 'sempre dividir a quantidade de meses por 30
for i = 1 to meses
datafinal = (Data + (30 * i)) ' pega a data, e adiciona os dias..
Select case Weekday(datafinal)
case 2,4,6 'segunda quarta e sext
case 3 , 5 'terça e quinta
case 7 'sabados
datafinal = datafinal + 2 'se for sabado... adiciona mais doi dias
case 1 'domingo
datafinal = datafinal + 1 'se for domingo adiciona mais um dia
case Else
end select
msgbox "Parcela NÃÅ¡MERO '" & i & "' Data de vencimento '" & datafinal & "'"
Next i

Cria as parcelas, nas datas seguintes, se é domingo ou sábado muda a data para o próximo dia Util.
Não testei ainda... mas tente ae...
Tópico encerrado , respostas não são mais permitidas