Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Actualisation automatique régulière des données

neutralprod

XLDnaute Nouveau
Bonjour tout le monde !

J'ai un fichier .csv que je récupère dans un fichier excel par le biais d'une "connexion à partir d'un fichier texte/csv" et je souhaiterais que cette connexion puisse être actualisée automatiquement toutes les X secondes.
J'ai vu que je peux définir une mise a jour automatique toutes les X minutes mais ce n'est pas assez, il faudrait que je puisse descendre sur des secondes.
Je pense que cela doit être possible avec une macro mais je ne trouve rien sur la toile.

merci d'avance et bonne journée !
 

neutralprod

XLDnaute Nouveau
Bonjour et merci pour l'aide.

avec ce code la macro est executée une fois seulement je pense, comment faire pour que cela tourne en boucle permanente ?

VB:
Sub Macro1()
'
' Macro1 Macro
'

    ActiveWorkbook.RefreshAll
    
End Sub


Sub Macro2()
'
' Macro2 Macro
'

    Application.OnTime Now + TimeValue("00:00:05"), "Macro1"

End Sub
 

youky(BJ)

XLDnaute Barbatruc
Sub Macro1()
'ici marco de chargement ou actualisation du .cvs
'blabla et . . .
Application.OnTime Now + TimeValue("00:00:05"), "Macro1"
End Sub
Bruno

ou bien
Sub Macro1()
ActiveWorkbook.RefreshAll
Application.OnTime Now + TimeValue("00:00:05"), "Macro1"
End Sub
Bruno
 
Dernière édition:

neutralprod

XLDnaute Nouveau
Effectivement cela marche bien mieux ainsi, merci beaucoup.
est-il possible de trouver un petit bout de code qui arrête la macro en cliquant simplement sur un bouton que je mettrai dans la fichier excel ?

VB:
Sub Macro1()
'
' Macro1 Macro
'

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

eriiic

XLDnaute Barbatruc
Bonjour à tous,

à mettre dans un module standard
VB:
Dim tMemo

Sub Macro1()
    ActiveWorkbook.RefreshAll
    tMemo = Now + TimeValue("00:00:05")
    Application.OnTime tMemo, "Macro1"
    Debug.Print tMemo
End Sub

Sub stopMacro1()
    Application.OnTime tMemo, "Macro1", , False
End Sub
penser à appeler stopMacro1 également depuis Workbook_BeforeClose() si tu ne veux pas que ton fichier se rouvre.
eric
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…