Pause dans une macro

Bonjour,

Est il possible de faire une pause dans une macro VBA avant d'appeler une deuxième macro ?

Les fonctions sleep, wait, ne donne pas ce que je souhaite car cela bloque mon fichier excel.

Je souhaiterais que l'utilisateur puisse naviguer dans le fichier excel pendant l'exécution de la macro.

J'ai le code suivant :

Sub temperature1()

'Sélection de la feuille traitement d'informations'

Sheets("Traitement d'informations").Activate

'Sélection de la cellule C6'

Range("C6").Select

Range("E1").Value = Range("C6").Value

Range("C6").Copy

Range("E1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Range("F1") = Now + TimeValue("00:00:10")

' pause de 10 secondes souhaitée

Call temperature2

End Sub

Merci par avance

Bonjour,

voir l'aide sur OnTime

eric

Cela répète la macro seulement ?

Salut,

Tu peux essayer ça :

Sub temperature1()
Application.OnTime Now + TimeValue("00:00:10"), "temperature2"
End Sub

Sub temperature2()
  MsgBox "Fin de la pause"
End Sub

A+

H

Bonjour,

ci-dessous code d'attente de 10 secondes sans blocage d'Excel

    temps_début = Timer
    Do While Timer < temps_début + 10
        DoEvents
    Loop

...sans blocage d'Excel

C'est tout relatif.

VBA tourne en permanence dans la boucle rien faire d'autre et consomme des ressources inutilement contrairement à OnTime.

eric

Certes.

Sauf que le "OnTime." lance la 2ème macro après 10 secondes et que l'exécution de la 1ère macro n'est pas suspendue, ce qui a priori était la demande : "pause dans une macro".

Bonjour,

C'est vrai, tout dépend du contexte exact.

Ici l'instruction suivante est end sub mais peut-être a-t-il simplifié pour l'exemple.

eric

Rechercher des sujets similaires à "pause macro"