Aide pour attendre la fin d'une instruction avant de passer a la suivante

Signaler
Messages postés
14
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
30 janvier 2006
-
Messages postés
14
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
30 janvier 2006
-
Bonjour,

Je commence tout juste dans VBA et j'ai besoin d'une petite aide:

Je lance une video a partir et je veux l'eliminer qd cette video est finie.

Sachant que je la lance avec une macro, je ne connais pas les return de ma fonction, ni la fonction elle meme a part:

ActiveSheet.OLEObjects.Add(Filename:="C:\Streams\seq1_4_8.avi", Link:=False _

, DisplayAsIcon:=False).Select

Selection.Verb Verb:=xlPrimary



Je voudrais donc savoir comment faire pour attendre la fin de l'execution, supprimer la video (Selection.Delete)

Merci de votre aide

4 réponses

Messages postés
77
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
20 juillet 2005

si c'est toujours la même vidéo fait toi un timer avec la durée de la vidéo et dès que c terminé tu lance ton delete.
Messages postés
14
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
30 janvier 2006

le timer je le fais comment stp?

j'ai fait temp= Timer

temp1 = temp + duree_video

Mais je n'arrive pas a trouver la bonne condition pour que cela marche :(

any more help plz?
Messages postés
77
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
20 juillet 2005

Dim Debut As Double

Debut = Timer + 10 ' 10 correpsond à la durée en secondes

Do While Debut > Timer
DoEvents 'ne fait rien et laisse windows travailler
Loop
Messages postés
14
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
30 janvier 2006

Merci pour ton aide Esquisse,

J'ai verifie cela mais comme c'est une boucle, il me sort des resultats un peu bizarres,

Par contre j'ai essayé cela et ca a marché:



Public Sub Fait_une_pause(nb As Integer)

Dim s As Integer



s = ((Second(Now) + nb) Mod (60))



Do Until s = Second(Now)

Loop



End Sub