Microsoft 365 Boucle sur application.on time

Claudy

XLDnaute Accro
Bonjour à tous,
je sèche sur une petite macro en boucle:

J'aimerais exécuter le "cel = cel.Offset(0, 1).Value" ou "ActiveCell = ActiveCell.Offset(0, 1).Value"
toutes les trois secondes....

Sub testzaza()
For Each cel In Range("E7:E30")
Application.OnTime Now + TimeValue("00:00:03"), cel = cel.Offset(0, 1).Value
'ActiveCell = ActiveCell.Offset(0, 1).Value
Next

End Sub

Merci d'avance,

Claudy
 

Claudy

XLDnaute Accro
Sub diversClaudy()
'Range("E120").End(xlUp)(2).Select
ActiveCell = ActiveCell.Offset(0, 1).Value
End Sub

Sub testzaza()
For Each cel In Range("E7:E30")
Application.OnTime Now + TimeValue("00:00:03"), "diversClaudy"
'ActiveCell = ActiveCell.Offset(0, 1).Value
Next


End Sub

Comme ça?
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Bonjour,

Exemple simple qui affiche l'heure dans une feuille Excel:

VB:
Dim temps
Sub majHeure()
ThisWorkbook.Sheets("feuil1").[A1] = Now
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End Sub

Sub auto_open()
   majHeure
End Sub

Sub auto_close()
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:=False
End Sub

Boisgontier
 

Pièces jointes

  • Copie de OnTimeHeure.xls
    44 KB · Affichages: 5

job75

XLDnaute Barbatruc
Bonjour JB,

Le but de ce fil est peut-être de créer une temporisation entre les entrées dans les cellules, alors utiliser :
VB:
Sub Test()
Dim c As Range, t#
For Each c In [E7:E30]
    c = c(1, 2)
    t = Timer + 3 'temporisation 3 secondes
    While Timer < t And t < 86400: DoEvents: Wend
Next
End Sub
Les cellules de la feuille restent accessibles pendant l'exécution ce qui ne serait pas le cas si on utilisait Application.Wait.

A+
 

Discussions similaires

Réponses
2
Affichages
140
Réponses
2
Affichages
545
Réponses
25
Affichages
833

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 809
dernier inscrit
Sandrine83