Appeler et executer 2 sub avant que la 1ere n'ait fini de s'executer
cs_zerbault
Messages postés4Date d'inscriptionsamedi 7 février 2009StatutMembreDernière intervention 7 février 2009
-
7 févr. 2009 à 14:31
cs_zerbault
Messages postés4Date d'inscriptionsamedi 7 février 2009StatutMembreDernière intervention 7 février 2009
-
7 févr. 2009 à 18:15
Bonjour
J'ai une sub qui appelle une autre. Ce que j'aimerais faire c'est que la sub principale A appelle une premiere fois la sub B et apres une tempo de quelques secondes, la sub B est reappellee a nouveau et commence a s'executer, avant meme que la 1ere sur B n'ait fini de s'executer.
Avez-vous une idee pour realiser cela?
Merci
Zerbault
A voir également:
Appeler et executer 2 sub avant que la 1ere n'ait fini de s'executer
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 7 févr. 2009 à 16:48
salut,
même si le multithreading existe en vb.net, tu auras du mal à proprement appeler B depuis A alors que tu es encore dans B (et qu'en plus A n'est pas terminée et est l'appelante)
si d'après ton code tu en as le besoin, c'est qu'il y a un problème de conception
montre nous ton code et explique nous le besoin, on essayera de t'orienter sur la manière d'arranger tout çà
<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
cs_zerbault
Messages postés4Date d'inscriptionsamedi 7 février 2009StatutMembreDernière intervention 7 février 2009 7 févr. 2009 à 17:32
Salut,
Merci de m'avoir repondu
voici mon code:
Sub train()
Dim i, j, k, l, m As Integer
Cells(9, 1).Interior.color = vbGreen
For i = 1 To 24
j = i - 1
Cells(9, i).Interior.color = vbRed
If j > 0 Then
Cells(9, j).Interior.color = vbGreen
End If
Call tempo
Call pauses(9, i)
Next i
For k = 10 To 11
l = k - 1
Cells(k, 24).Interior.color = vbRed
Cells(l, 24).Interior.color = vbGreen
Call tempo
Next k
For i = 25 To 29
j = i - 1
Cells(11, i).Interior.color = vbRed
Cells(11, j).Interior.color = vbGreen
Call tempo
Call pauses(11, i)
Next i
For k = 0 To 1
l = 10 - k
m = l + 1
Cells(l, 29).Interior.color = vbRed
Cells(m, 29).Interior.color = vbGreen
Call tempo
Next k
For i = 30 To 36
j = i - 1
Cells(9, i).Interior.color = vbRed
Cells(9, j).Interior.color = vbGreen
Call tempo
Call pauses(9, i)
Next i
For k = 10 To 11
l = k - 1
Cells(k, 36).Interior.color = vbRed
Cells(l, 36).Interior.color = vbGreen
Call tempo
Next k
For i = 1 To 35
j = 36 - i
k = j + 1
Cells(11, j).Interior.color = vbRed
If k < 37 Then
Cells(11, k).Interior.color = vbGreen
End If
Call tempo
Call pauses(9, j)
Next i
For k = 0 To 1
l = 10 - k
m = l + 1
Cells(l, 1).Interior.color = vbRed
Cells(m, 1).Interior.color = vbGreen
Call tempo
Next k
End Sub
Sub tempo()
Application.Wait Now + TimeValue("00:00:01")
End Sub
Sub pauses(u, v)
If Cells(u + 1, v).Interior.color = vbYellow Then
Application.Wait Now + TimeValue("00:00:01")
End If
If Cells(u - 1, v).Interior.color = vbYellow Then
Application.Wait Now + TimeValue("00:00:01")
End If
End Sub
En fait il s'agit de train sur un circuit, je veux faire partir plusieurs trains avec un interval. Le train est materialise par la couleur rouge.