Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
S’enregistrer  \/ 
x

or

Comment répéter ou boucler une macro toutes les X minutes dans Excel?

Lorsque vous travaillez avec Microsoft Excel, vous devrez peut-être créer des macros pour effectuer certaines opérations. Par exemple, vous souhaitez créer une macro pour copier automatiquement une plage de données vers un nouvel emplacement. Comme les données seront fréquemment modifiées, vous avez besoin que cette macro s'exécute automatiquement toutes les 5 minutes sans la déclencher manuellement afin de synchroniser ces deux plages de données. Comment y parvenir? La méthode décrite dans cet article peut vous aider.

Répétez ou bouclez une macro toutes les X minutes dans Excel


Répétez ou bouclez une macro toutes les X minutes dans Excel

Le code VBA suivant peut vous aider à répéter une macro toutes les X minutes dans Excel. Veuillez faire comme suit.

1. presse autre + F11 en même temps pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. dans le Microsoft Visual Basic pour applications fenêtre, veuillez cliquer insérer > Module. Ensuite, copiez et collez le code VBA ci-dessous dans le Code la fenêtre. Voir la capture d'écran:

Code VBA: répétez ou bouclez une macro toutes les X minutes dans Excel

Sub ReRunMacro()
Dim xMin As String

'Insert your code here
    xMin = GetSetting(AppName:="Kutools", Section:="Macro", Key:="min", Default:="")
    If xMin = "Exit" Then
    SaveSetting "Kutools", "Macro", "min", "False"
    Exit Sub
    End If
    If (xMin = "") Or (xMin = "False") Then
      xMin = Application.InputBox(prompt:="Please input the interval time you need to repeat the Macro", Title:="Kutools for Excel", Type:=2)
      SaveSetting "Kutools", "Macro", "min", xMin
    End If
    If (xMin <> "") And (xMin <> "False") Then
      Application.OnTime Now() + TimeValue("0:" + xMin + ":0"), "ReRunMacro"
    Else
      Exit Sub
    End If
End Sub

importante: Dans le code, veuillez remplacer cette ligne 'Insérez votre code ici avec le code, vous exécuterez toutes les X minutes.

3. appuie sur le F5 clé pour exécuter le code. Dans le popping Kutools pour Excel boîte de dialogue, veuillez entrer l'intervalle de temps sur lequel vous répéterez la macro, puis cliquez sur le bouton OK bouton. Voir la capture d'écran:

À partir de maintenant, la certaine macro s'exécutera à plusieurs reprises toutes les 5 minutes dans votre classeur.

importante: Si vous devez arrêter l'exécution de la macro et modifier l'intervalle du cycle, veuillez copier le code VBA ci-dessous dans le même Module fenêtre et appuyez sur F5 clé pour exécuter le code. Ensuite, la macro sera arrêtée, veuillez réexécuter le code ci-dessus pour spécifier un nouvel intervalle.

Code VBA: arrêter l'exécution de la macro

Sub ExitReRunMacro()
SaveSetting "Kutools", "Macro", "min", "Exit"
End Sub

Office Tab - Navigation par onglets, modification et gestion des classeurs dans Excel:

Office Tab apporte l'interface à onglets telle qu'elle apparaît dans les navigateurs Web tels que Google Chrome, les nouvelles versions d'Internet Explorer et Firefox à Microsoft Excel. Ce sera un outil qui vous fera gagner du temps et sera irremplaçable dans votre travail. Voir la démo ci-dessous:

Cliquez pour un essai gratuit d'Office Tab!

Onglet Office pour Excel


Articles connexes:


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
kte tab 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    crystal · 3 months ago
    @creativeperson97 Good day,
    You need to remove the Sub line and the End Sub line from your code.
    Sub Refresh() ' ' Refresh Macro ' ' Sheets("Sheet1").Select ActiveWorkbook.RefreshAll Sheets("Pivot-Dash").Select End Sub
    Change to:
    ' ' Refresh Macro ' ' Sheets("Sheet1").Select ActiveWorkbook.RefreshAll Sheets("Pivot-Dash").Select

  • To post as a guest, your comment is unpublished.
    creativeperson97 · 3 months ago
    I am pasting the code below in which I have replaced the line to enter the code with my code. The error I am getting is- Compile error: Expected End Sub. Kindly help.

    Sub ReRunMacro()
    Dim xMin As String
    Sub Refresh()
    '
    ' Refresh Macro
    '

    '
    Sheets("Sheet1").Select
    ActiveWorkbook.RefreshAll
    Sheets("Pivot-Dash").Select
    End Sub


    xMin = GetSetting(AppName:="Kutools", Section:="Macro", Key:="min", Default:="")
    If xMin = "Exit" Then
    SaveSetting "Kutools", "Macro", "min", "False"
    Exit Sub
    End If
    If (xMin = "") Or (xMin = "False") Then
    xMin = Application.InputBox(prompt:="Please input the interval time you need to repeat the Macro", Title:="Kutools for Excel", Type:=2)
    SaveSetting "Kutools", "Macro", "min", xMin
    End If
    If (xMin <> "") And (xMin <> "False") Then
    Application.OnTime Now() + TimeValue("0:" + xMin + ":0"), "ReRunMacro"
    Else
    Exit Sub
    End If
  • To post as a guest, your comment is unpublished.
    crystal · 9 months ago
    @LIMCA Hi LIMCA,
    Sorry for the inconvenience. The code does not support entering decimals.

    Please stop the the looping by running the below VBA code, and then rerun the looping code and enter 1 into the popping up dialog box.

    Sub ExitReRunMacro()
    SaveSetting "Kutools", "Macro", "min", "Exit"
    End Sub
  • To post as a guest, your comment is unpublished.
    LIMCA · 9 months ago
    Hi Jack,
    By mistake I entered 0.5 mins and it shows an error,
    I mean xMin is taken as 0.5 minutes.
    How to get rid and change it to 1 min?

  • To post as a guest, your comment is unpublished.
    David · 10 months ago
    @crystal Hey, Thanks! but im afraid the marco doenst even run, when I press F5 excel sends me this error msgs: Run time error 13 'Type Missmatch".

    I deleted it, but If I try to create it again the same error msg appears, my only guess is that I set the time as 0.5 and in the code, so no idea how to modify it now.

    Thanks Again for your help.
  • To post as a guest, your comment is unpublished.
    MOhammed · 10 months ago
    How to create a macro in excel with continuous loop and pressed key would be only pg up and pg down
  • To post as a guest, your comment is unpublished.
    crystal · 10 months ago
    @David Hi David.
    As we mentioned at the end of the post, if you need to stop the execution of the macro and change the interval of the cycle, please copy the below VBA code into the same Module window and press the F5 key to run the code. Then the Macro will be stopped, please rerun the above code to specify a new interval.

    Sub ExitReRunMacro()
    SaveSetting "Kutools", "Macro", "min", "Exit"
    End Sub
  • To post as a guest, your comment is unpublished.
    crystal · 10 months ago
    @Padma Hi Padma,
    The "insert your code here" indicate the VBA code you use to achieve some operation in Excel. Supposing you need to apply VBA to move a row to another sheet based on a specific value, and want to run the code every X minutes automatically, you need to place the VBA code here.
  • To post as a guest, your comment is unpublished.
    davart · 10 months ago
    Hi very useful, however I think I messed up and set the time as 0.5 and now I cannot chage it, any ideas how to change the xMin Setting?
  • To post as a guest, your comment is unpublished.
    David · 10 months ago
    Hi, I messed up and set the time as 0.5 and now I cannot chage it, any ideas how to change the xMin Setting?
  • To post as a guest, your comment is unpublished.
    Padma · 10 months ago
    Hello, Just help me out on "insert your code here". I am a novice and need help on what to fill and how ! Thanks
    I am not getting it right

  • To post as a guest, your comment is unpublished.
    Mohit · 1 years ago
    Hey

    I have a query, your codes works perfectly fine and copies the data in my next columns every 5 minutes but after 3 hours all my columns get full as it is 2003 excel. Could you please help me with a code to check if no other column is vacant then create a new sheet and copy paste data into that sheet
  • To post as a guest, your comment is unpublished.
    crystal · 1 years ago
    @ram2093@gmail.com Hi,
    Please change the line "Application.OnTime Now() + TimeValue("0:" + xMin + ":0"), "ReRunMacro"" to
    Application.OnTime Now() + TimeValue("0:" + "0:" + xMin), "ReRunMacro"
  • To post as a guest, your comment is unpublished.
    ram2093@gmail.com · 1 years ago
    Please provide a Code for :


    "How to repeat or loop a Macro every X Seconds in Excel"


    Thank you
  • To post as a guest, your comment is unpublished.
    crystal · 2 years ago
    @ebolshakovv@gmail.com Good daty,
    A new VBA code which can stop the macro has been added at the end of the article. Please have a try. Thank you for your comment.
  • To post as a guest, your comment is unpublished.
    crystal · 2 years ago
    @Jack Hi Jack,
    My mistake.
    A new VBA code which can stop the macro has been added at the end of the article. Please have a try. Thank you for your comment.
  • To post as a guest, your comment is unpublished.
    ebolshakovv@gmail.com · 2 years ago
    Tell me more how to stop the execution of the macro and change the interval of the cycle?
  • To post as a guest, your comment is unpublished.
    jack1 · 2 years ago
    Tell me more how to stop the execution of the macro and change the interval of the cycle?
  • To post as a guest, your comment is unpublished.
    Jack · 2 years ago
    @crystal Good day! I did not understand how to break the macro code to set the loop execution time again.Could you describe in more detail how to do this? Where is the value of the run cycle time recorded?
  • To post as a guest, your comment is unpublished.
    Ryan · 2 years ago
    Hi!
    This is great, but is there a way to get it to loop back up to the first row of the spreadsheet before beginning again?


    Thanks!
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    @JIm Good Day,
    Just break the code and run it again.
  • To post as a guest, your comment is unpublished.
    JIm · 3 years ago
    Thanks for this, works a treat. I'm a novice to coding so please forgive me if this is simple...

    How do I get the dialog box to appear again? I have it stuck on a 1 minute loop. Thanks.
  • To post as a guest, your comment is unpublished.
    crystal · 3 years ago
    @primeacademyresource@gmail.com Good Day,
    You can get into the Code window to break the code (click on the Break button) manually to stop the loop.
  • To post as a guest, your comment is unpublished.
    primeacademyresource@gmail.com · 3 years ago
    Great one! Please how do i stop the loop after say 10 times?