Anathorn
-
22 juin 2001 à 18:47
cs_PaTaTe
Messages postés2126Date d'inscriptionmercredi 21 août 2002StatutContributeurDernière intervention19 février 2021
-
13 janv. 2009 à 16:36
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_PaTaTe
Messages postés2126Date d'inscriptionmercredi 21 août 2002StatutContributeurDernière intervention19 février 20212 13 janv. 2009 à 16:36
Pensez à écrire du code en Option Explicit, ça évite bien des soucis :)
cs_lafleche
Messages postés1Date d'inscriptionjeudi 28 mars 2002StatutMembreDernière intervention28 mars 2002 28 mars 2002 à 12:38
Mouais, mais faut un peu penser aux petits copains (i.e. les autres tâches ou fonctions en cours)
Je te suggère plutot :
Sub FaireUnePause2LeRetour(NbSec As Long, _
Optional ByVal bBloqueTout As Boolean = True)
Dim HeureLimite As Date
'calcule la limite à atteindre
TimeLimite = DateAdd("s", NbSec, Time)
'boucle d'attente
While Time <= TimeLimite
'le reste du monde fonctionnera quand même
If Not bBloqueTout Then DoEvents
Wend
End Sub
Tu peux comme cela choisir de bloquer le reste de ton appli on non.
Il y aurait une solution encore + efficace pour ne pas trop bloquer la cpu, basée sur un timer, mais bon, j'ai pas trop de temps... :-)
13 janv. 2009 à 16:36
28 mars 2002 à 12:38
Je te suggère plutot :
Sub FaireUnePause2LeRetour(NbSec As Long, _
Optional ByVal bBloqueTout As Boolean = True)
Dim HeureLimite As Date
'calcule la limite à atteindre
TimeLimite = DateAdd("s", NbSec, Time)
'boucle d'attente
While Time <= TimeLimite
'le reste du monde fonctionnera quand même
If Not bBloqueTout Then DoEvents
Wend
End Sub
Tu peux comme cela choisir de bloquer le reste de ton appli on non.
Il y aurait une solution encore + efficace pour ne pas trop bloquer la cpu, basée sur un timer, mais bon, j'ai pas trop de temps... :-)
Hop
22 juin 2001 à 18:47