Notifications
Clear all

Cronometro Regressivo - Desafio aos expert

3 Posts
2 Usuários
0 Reactions
1,950 Visualizações
(@samohr)
Posts: 1
New Member
Topic starter
 

Gostaria da ajuda de vocês que possuem amplo conhecimento em Excel-VBA.
Preciso criar um cronometro regressivo para navegação em rally de carros antigos.
A prova acontece em autódromos e é necessária a regularidade precisa nas voltas.
O tempo para as voltas da prova é a media de 03 voltas na tomada de tempo (treinos).
Portanto, preciso entrar com o tempo numa célula. Exemplo (A1) 00:02:15, esse é o tempo para eu realizar uma volta na pista, cada bateria tem duração de + ou - 10 voltas, e toda elas serão no mesmo tempo. Porém pode acontecer atrasos e/ou adiantamentos no tempo de 01 volta, então ao passar pela linha de chegada ou onde estiver o transponder eu preciso ativar o cronometro regressivo novamente, com o mesmo tempo (00:02:15), clicando manualmente o reinicio do cronometro regressivo.
Gostaria que 10 segundos antes de zerar o cronometro desse um aviso sonoro (beep), e nos últimos 5 segundos antes de zerar, cada segundo fosse com aviso sonoro (beep) também.
Ainda, em cada volta que eu reiniciar a nova cronometragem ficasse registrado numa célula ao lado da célula com o numero da volta o tempo (minutos, segundos) em que o cronometro estava naquele instante.
Obs.:
- se estiver adiantado o cronometro ainda não zerou, registra o ultimo tempo antes da reativação do cronometro regressivo.
- se estiver atrasado, o cronometro pode reativar automático (00:02:15), porem quando eu reativar manualmente na minha passagem pelo transponder ele deverá reiniciar novamente no tempo de volta (00:02:15), fazendo o ultimo registro na linha do numero da volta subtraído pelo (00:02:15) para que eu possa saber quanto tempo eu passei atrasado. Exemplo; o cronometro reiniciou automaticamente no tempo (00:02:15) e eu reiniciei ele manualmente quando ele estava em (00:02:05), logo, teremos (00:02:15) - (00:02:05) = (00:00:05).

0:02:15 TEMPO PARA CADA VOLTA

BOTÃO DE ATIVAÇÃO CRONOMETRO REGRESSIVO
00:01:35

0:01:07 REFERENCIA PARA CÁLCULO

Nº VOLTAS REGISTRO DO TEMPO SEGUNDOS PERDIDOS PONTOS PERDIDOS
5 Pt/Seg
VOLTA 01 0:02:14 0:00:01 5
VOLTA 02 0:00:03 0:00:03 15
VOLTA 03 0:00:01 0:00:01 5
VOLTA 04 0:02:13 0:00:02 10
VOLTA 05 0:02:08 0:00:07 35
VOLTA 06 0:00:00 0:00:00 0
VOLTA 07 0:00:05 0:00:05 25
VOLTA 08 0:00:08 0:00:08 40
VOLTA 09 0:02:13 0:00:02 10
VOLTA 10 0:00:02 0:00:02 10
VOLTA 11
VOLTA 12
TOTAL DE PONTOS PERDIDOS 155

 
Postado : 11/03/2014 12:20 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Talvez isso te ajude.

Private Sub CommandButton1_Click()
Call Timer
End Sub
Dim CountDown As Date
Sub Timer()
CountDown = Now + TimeValue("00:00:01")
Application.OnTime CountDown, "Reset"
End Sub
Sub Reset()
Dim count As Range
Set count = [A1]
count.Value = count.Value - 1
If count <= 0 Then
MsgBox "Countdown complete."
Exit Sub
End If
Call Timer
End Sub
Sub DisableTimer()
On Error Resume Next
Application.OnTime EarliestTime:=CountDown, Procedure:="Reset", Schedule:=False
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 11/03/2014 5:11 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Talvez isso te ajude.

Private Sub CommandButton1_Click()
Call Timer
End Sub
Dim CountDown As Date
Sub Timer()
CountDown = Now + TimeValue("00:00:01")
Application.OnTime CountDown, "Reset"
End Sub
Sub Reset()
Dim count As Range
Set count = [A1]
count.Value = count.Value - 1
If count <= 0 Then
MsgBox "Countdown complete."
Exit Sub
End If
Call Timer
End Sub
Sub DisableTimer()
On Error Resume Next
Application.OnTime EarliestTime:=CountDown, Procedure:="Reset", Schedule:=False
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 11/03/2014 5:11 am