Pause dans l'execution [Résolu]

Messages postés
113
Date d'inscription
mercredi 9 mai 2007
Dernière intervention
28 août 2007
- 10 juil. 2007 à 11:22 - Dernière réponse :
Messages postés
19
Date d'inscription
lundi 1 septembre 2008
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
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Dernière intervention
15 novembre 2016
- 10 juil. 2007 à 11:27
3
Merci
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

 

Merci cs_Exploreur 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_Exploreur
Meilleure réponse
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Dernière intervention
6 avril 2012
- 10 juil. 2007 à 12:44
3
Merci
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

Merci jrivet 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de jrivet
Messages postés
113
Date d'inscription
mercredi 9 mai 2007
Dernière intervention
28 août 2007
- 10 juil. 2007 à 11:45
0
Merci
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
Commenter la réponse de taj88
Messages postés
4824
Date d'inscription
lundi 11 novembre 2002
Dernière intervention
15 novembre 2016
- 10 juil. 2007 à 12:10
0
Merci
Salut,

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

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Commenter la réponse de cs_Exploreur
Messages postés
113
Date d'inscription
mercredi 9 mai 2007
Dernière intervention
28 août 2007
- 10 juil. 2007 à 14:07
0
Merci
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
Commenter la réponse de taj88
Messages postés
19
Date d'inscription
lundi 1 septembre 2008
Dernière intervention
10 septembre 2008
- 3 sept. 2008 à 16:19
0
Merci
arret pendant 4ms
application.wait(Now + TimeValue("00:00:04"))

salut
Commenter la réponse de yr1r13762

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.