Décompte de 60 seconde lorsque cellule remplie

Bonjours a vous tousse existe t'il une formule faire ceci.

Exemple lorsque que une cellule de la colonne A est remplie, un décompte de 60 seconde apparait dans la cellule B, a coter de la A, une foi le décompte de 60 seconde terminer , la cellule B écrit (Terminer)

Merci a vous

Je vais définir un peut mon raisonnement,

en fait je dois recueillir des chiffres sur un site boursier ,

si exemple J'écrit en A1 ,ex: 824,

en B1 Ya un compte a rebours de 60 seconde ,

lorsque celui-ci arrive a 0 , B1 Affiche Terminer

et En C1 je rentre la nouvelle valeur que Jai cueilli.

Ensuite D1 m'afficheront une statistique, mais pour le moment je suis bloquer sur le timer de B1

bonsoir,

une macro à copier dans le code de la feuille adéquate (celle qui t'intéresse).

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
t = Now()
T10 = Now + TimeValue("00:01:00")
Range("b" & Target.Row).NumberFormat = "ss"
While Now() < T10
Range("b" & Target.Row) = T10 - Now()
DoEvents
Wend
Range("b" & Target.Row) = "Terminé"
End Sub

SAlut H2so4

Ton code est super et fonctionne bien

le seule petit problème ces que j'aimerai pouvoir travailler sur les autre cellule

pendant que le décompte est en marche.

c'Est possible?

bonsoir,

voici 2 morceaux de code à insérer dans ton classeur

le premier à mettre dans le code de la feuille souhaitée

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target.Row = ta Then Exit Sub
If Target.Column = 1 Then
  Set ta = Target
  chrono
End If
resumechrono
End Sub

le second à mettre dans un module

Global t, T10, ta, chronoruns
Sub chrono()
t = Now()
T10 = Now + TimeValue("00:01:00")
chronoruns = True
End Sub

Sub resumechrono()
If chronoruns Then
While Now() < T10
Range("B" & ta.Row) = T10 - Now()
DoEvents
Wend
Range("B" & ta.Row) = "Terminé"
chronoruns = False
End If
End Sub

bonsoir,

une erreur s'est glissée dans le code, j'ai fait la correction dans le message précédent.

Merci beaucoup sa fonctionne bien même lorsque je modifie une cellule ,

Mais le problème c'es que le décompte affiche 0,000547839 au lieux de 54

Il prend les millième de millième de seconde !

bonsoir,

remplace le code de ta feuille souhaitée par le code ci-dessous

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target.Row = ta Then Exit Sub
If Target.Column = 1 Then
  Set ta = Target
  Target.Offset(0, 1).NumberFormat = "ss"
  chrono
End If
resumechrono
End Sub

Ses vraiment super sa fonctionne

mais zut , je crois que ton code est trop lourd pour Excel 2013

en fait 1 fois sur 4 , lorsque je modifie une autre cellule Excel plante pendant le compte a rebours.

Excel m'affiche a cesser de fonctionner et tout ferme .

Si tu aurai une autre idée Jai ce code qui fonctionne bien mais avec le même problème

lorsque je modifie une cellule le décompte sarrette .

Feuille

Option Explicit

Public Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column <> 1 Then Exit Sub
  Temp# = Target.Row
  Cells(Temp#, 2) = 60
  Call RunOnTime
End Sub

Module

Option Explicit

Public Temp#
Public dTime As Date

Sub RunOnTime()
  dTime = Now + TimeSerial(0, 0, 1)
  Application.OnTime dTime, "RunOnTime"
  Cells(Temp#, 2).Value = Cells(Temp#, 2).Value - 1
  If Cells(Temp#, 2).Value = 0 Then Call CancelOnTime
End Sub

Sub CancelOnTime()
  Application.OnTime dTime, "RunOnTime", , False
  Cells(Temp#, 2).Value = "Terminer"
End Sub

Si tu a une idée

Bonsoir,

ta méthode fonctionne très bien chez moi. tout comme celle que j'ai proposée.

Je soupçonne quelque chose dans ta feuille (de nombreuses formules ? de nombreuses MFC ?)

Merci voici le résulta final ya le fichier joint au interesses

32session-3.rar (22.22 Ko)
Rechercher des sujets similaires à "decompte seconde lorsque remplie"