Boucle pour actualisation ou clic automatique

Bonjour,

j'ai réalisé la macro suivante afin d’actualiser mes données via un bouton.

Je souhaiterai que cette actualisation se face de façon automatique toutes les secondes.

Mes connaissances en vba ne sont pas assez avancées pour le faire.

Sub test()

'

' test Macro

'

'

ActiveWorkbook.RefreshAll

End Sub

Dans l'attente de votre aide.

Amicalement

bonjour

essaie ceci, pour un refresh toutes les minutes

Sub test()
   Application.OnTime Now() + TimeValue("00:01:00"), "test"
   ActiveWorkbook.RefreshAll
End Sub

Merci h2so4 pour cette réponse aussi rapide mais j'obtient le message suivant:

"Impossible d’exécuter la macro 'Compter les tours_test_forum.xlsm'!test'. Il est possible qu'elle ne soit pas disponible dans ce classeur ou que toutes les macros soient désactivées.

Je ne vois pas d'où provient ce message.

Cordialement

Bonjour,

comme le dit le message d'erreur, vérifie que la macro se trouve bien dans le fichier mentionné et que les macros sont bien activées.

Re help h2so4,

dés que j'entre ta ligne de commande, le message d'erreur apparait.

Si je le fais manuellement, à l'aide d'un bouton, pas de message.

Alors là je dois dire que cela me dépasse un peu??

Cordialement

24compte.xlsm (22.49 Ko)

Bonjour,

j'ai recréé la macro, et je suis parvenu à la faire fonctionner. voir le fichier

142compte.xlsm (25.09 Ko)

L'erreur reste la même mais quand je la rédige ainsi:

Sub Actualisation()

' Définit l'intervalle avec l'heure actuelle + dix secondes

DansTrenteSecondes = TimeSerial(Hour(Time), Minute(Time), Second(Time) + 10)

' Appel récursif de la fonction Actualisation

Application.OnTime DansTrenteSecondes, "Actualisation"

' Appel de la fonction EnregistrerEnPageWeb

ActiveWorkbook.RefreshAll

End Sub

Plus de soucis.

Par contre, je cherche à présent à créer un bouton STOP??

Des suggestions peut être!!

Merci pour l'aide.

pour démarrer et arrêter

Dim DansTrenteSecondes
Sub Actualisation()
' Définit l'intervalle avec l'heure actuelle + dix secondes
DansTrenteSecondes = TimeSerial(Hour(Time), Minute(Time), Second(Time) + 10)
' Appel récursif de la fonction Actualisation
Application.OnTime DansTrenteSecondes, "Actualisation"
' Appel de la fonction EnregistrerEnPageWeb
ActiveWorkbook.RefreshAll
End Sub
Sub Arret()
Application.OnTime DansTrenteSecondes, "Actualisation",,False
End Sub

Désolé h2so4,

je ne vois pas comment créer un bouton STOP à partir de cette ligne de code??

Désolé!!!!

Tu crées un bouton et tu lui associes la macro arrêt

Bonjour h2so4,

j'ai fait le test mais la macro ne s'arrête pas??

Peut être une autre idée?

Je continue à prospecter de mon coté.

Cordialement.

bonjour,

j'ai corrigé mon message précédent, voir plus haut et te propose une autre manière de faire, code à mettre dans un nouveau module

Dim halte
Sub Actualisation()
' Définit l'intervalle avec l'heure actuelle + dix secondes
    danstrentesecondes = TimeSerial(Hour(Time), Minute(Time), Second(Time) + 10)
    ' Appel récursif de la fonction Actualisation
    If halte = False Then Application.OnTime danstrentesecondes, "Actualisation"
    ' Appel de la fonction EnregistrerEnPageWeb
    ActiveWorkbook.RefreshAll
End Sub
Sub Arret() 'macro bouton arret
    halte = True
End Sub
Sub démarrage() 'macro bouton démarrage
    halte = False
    Actualisation
End Sub

Merci h2so4,

je viens de tester tout fonctionne impeccablement bien.

Je me suis permis d'ajouter une ligne sur la macro Arrêt:

MsgBox "Terminé"

Merci du coup de main.

Cordialement

Rechercher des sujets similaires à "boucle actualisation clic automatique"