Pause dans l'execution

Résolu
taj88 Messages postés 113 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 28 août 2007 - 10 juil. 2007 à 11:22
yr1r13762 Messages postés 19 Date d'inscription lundi 1 septembre 2008 Statut Membre Dernière intervention 10 septembre 2008 - 3 sept. 2008 à 16:19
Bonjour, j'aimerais savoir comment on peut mettre une pause d eX secondes dans l'execution du code VBA puis en suite le programme continue...

Genre
Sub toto()
.......
........
Wait 5 seconds
.......
......
End sub

Merci d'avance

Je viens de découvrir le bonheur de programmer et le VB me le rend bien
A voir également:

6 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
10 juil. 2007 à 11:27
Salut,

Peut-être avec l'api : Sleep :

Dans un module ou ton formulaire :

' API pause ************************************************
 Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
' **********************************************************

Utilsation :

Sleep 5000 << 5 secondes de pause

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
10 juil. 2007 à 12:44
Salut,
Le sleep doit bien être dans la boucle mais le problème (je pense) viens plutot du fait que tu as le Application.ScreenUpdating = False pendant la boucle

@+: Ju£i?n
Pensez: Réponse acceptée
3
taj88 Messages postés 113 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 28 août 2007
10 juil. 2007 à 11:45
Ca à l'air de pouvoir marcher mais j'ai un petit pb pour l'intégrer à ma boucle for

Voila, j'ai une procédure qui me dessine des flêche entre plusieurs points à la suite
MA PROCEDURE :
Sub dessiner()
Dim i As Integer
Dim m As Variant
Application.ScreenUpdating = False


   
For i = 2 To 12

   a = Worksheets("Re_move").Cells(i, 1).Value'coordonnéeX
   b = Worksheets("Re_move").Cells(i, 2).Value 'coordonnéeY
If DépartX 0 And DépartY 0 Then
        DépartX = a
        DépartY = b
End If

        ArrivéeX = a
        ArrivéeY = b


If DépartX <> 0 And DépartY <> 0 Then
Sheets("enregistrement").Activate
'Si autorisation de tracée la flêche et si ce n'est pas le bouton de départ alors
        TracerLigneBleu ' Trace la ligne entre les deux points (départ et arrivée)
        Distance
      
'trace une flêche et calcul la distance de celle-ci
DépartX = ArrivéeX
DépartY = ArrivéeY
End If
Sleep 1000
Next i
Application.ScreenUpdating = True
 
End Sub

Et en fait j'aimerais que Sleep me permette de voir les flêches se dessiner les une après les autre
(sans sleep ca me dessine toute les flêches d'un coup)
(avec sleep, ca attend nb fléches*1s avant de me dessiner tout d'un coup)
alors que je voudrais que ca me dessine la 1ere flêche, sa attend 1s puis la 2eme
en fait faire attendre la boucle FOR

voilà @+
Je viens de découvrir le bonheur de programmer et le VB me le rend bien
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
10 juil. 2007 à 12:10
Salut,

Essaye de mettre le sleep aprés la : Next i

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
taj88 Messages postés 113 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 28 août 2007
10 juil. 2007 à 14:07
Merci Julien, je l'avais oublié celui là (ca c'est le fait de copier coller d'une procédure à l'autre )
 PB réglé
Merci à tous !
@+

Je viens de découvrir le bonheur de programmer et le VB me le rend bien
0
yr1r13762 Messages postés 19 Date d'inscription lundi 1 septembre 2008 Statut Membre Dernière intervention 10 septembre 2008
3 sept. 2008 à 16:19
arret pendant 4ms
application.wait(Now + TimeValue("00:00:04"))

salut
0
Rejoignez-nous