OVH Cloud OVH Cloud

Macro, boucle sur elle-même

6 réponses
Avatar
DC
Bonsoir à tous,...............Excel 2000 sous XP

Bonne fête de Noël et bon réveillon pour demain soir...!!!!!!!!!!!!

Voici ci-dessous, une procédure qui fonctionne, mais que j'aimerais faire
tourner sur elle-même, elle à pour rôle, la simulation de fonctionnement
d'un feux tricolores, par apparition temporisée de (1 ou 0) dans 4 cellules,
l'une au dessus de l'autre,....................Merci de m'avoir lu...!!
'-----------------------------------------------------
Sub playlights()
Application.Goto Reference:="vt"
With Range("vt")
End With
With ActiveCell
For I = 0 To 3
.Offset(-I, 0).Value = 1
couleur 3
.Offset(-I, 0).Value = 0
Next
End With
End Sub

Sub couleur(temps)
Dim S As Double
S = Timer + 5
While Timer < S
DoEvents
Wend
End Sub
'--------------------------------------------------

Cordialement.........Merci d'avance........bonne soirée........DC

6 réponses

Avatar
Jean-François Aubert
Salut,

ou l'une, ou l'autre ?

'*****************************************
Sub plusieurs_fois()
For i = 1 To 3
playlights
Next
Range("vt").Value = 1
End Sub

Sub certain_temps()
Dim T As Double
T = Timer + 20
While Timer < T
playlights
DoEvents
Wend
Range("vt").Value = 1

End Sub
'************************************************

Sub playlights()
Application.Goto Reference:="vt"
'With Range("vt")
'End With
With ActiveCell
For i = 0 To 3
.Offset(-i, 0).Value = 1
couleur 3
.Offset(-i, 0).Value = 0
Next
End With
End Sub

Sub couleur(temps)
Dim S As Double
S = Timer + 1
While Timer < S
DoEvents
Wend
End Sub



--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"DC" a écrit dans le message de news:
43ac35da$0$21269$
Bonsoir à tous,...............Excel 2000 sous XP

Bonne fête de Noël et bon réveillon pour demain soir...!!!!!!!!!!!!

Voici ci-dessous, une procédure qui fonctionne, mais que j'aimerais faire
tourner sur elle-même, elle à pour rôle, la simulation de fonctionnement
d'un feux tricolores, par apparition temporisée de (1 ou 0) dans 4
cellules, l'une au dessus de l'autre,....................Merci de m'avoir
lu...!!
'-----------------------------------------------------
Sub playlights()
Application.Goto Reference:="vt"
With Range("vt")
End With
With ActiveCell
For I = 0 To 3
.Offset(-I, 0).Value = 1
couleur 3
.Offset(-I, 0).Value = 0
Next
End With
End Sub

Sub couleur(temps)
Dim S As Double
S = Timer + 5
While Timer < S
DoEvents
Wend
End Sub
'--------------------------------------------------

Cordialement.........Merci d'avance........bonne soirée........DC





Avatar
LSteph
Bonjour DC,
Joyeux Noel à toi aussi.
:(... Pas compris(...comme d'hab!)
...pourquoi tricolore avec 4 feux et des 0 ou 1 au lieu des couleurs
directement
on aurait pu utiliser .interior.colorindex mais c'est comme tu souhaites ,
alors ;o)
en essayant de ne pas trop m'éloigner de ton code initial ( mais qd même ,
un peu)
mis un bouton et mefc pour les couleurs:
http://cjoint.com/?myk1EtY8Ve

''''******dans le code de Feuil1**
Private Sub CommandButton1_Click()
With CommandButton1
If .Caption = "Stop" Then
.Caption = "Start"
End
Else
.Caption = "Stop"
playlights
End If
End With
End Sub
''''******dans module1********
Sub playlights()
Range("vt").Select
With ActiveCell
Range(.Offset(0, 0), .Offset(-3, 0)) = 0
For I = 0 To 3
.Offset(-I, 0).Value = 1
couleur 3
.Offset(-I, 0).Value = 0
Next
End With
Application.OnTime Now + Second(temps), "playlights"
End Sub

Sub couleur(temps)
Dim S As Double
S = Timer + 5
While Timer < S
DoEvents
Wend
End Sub
'**********
'lSteph

"DC" a écrit dans le message de news:
43ac35da$0$21269$
Bonsoir à tous,...............Excel 2000 sous XP

Bonne fête de Noël et bon réveillon pour demain soir...!!!!!!!!!!!!

Voici ci-dessous, une procédure qui fonctionne, mais que j'aimerais faire
tourner sur elle-même, elle à pour rôle, la simulation de fonctionnement
d'un feux tricolores, par apparition temporisée de (1 ou 0) dans 4
cellules, l'une au dessus de l'autre,....................Merci de m'avoir
lu...!!
'-----------------------------------------------------
Sub playlights()
Application.Goto Reference:="vt"
With Range("vt")
End With
With ActiveCell
For I = 0 To 3
.Offset(-I, 0).Value = 1
couleur 3
.Offset(-I, 0).Value = 0
Next
End With
End Sub

Sub couleur(temps)
Dim S As Double
S = Timer + 5
While Timer < S
DoEvents
Wend
End Sub
'--------------------------------------------------

Cordialement.........Merci d'avance........bonne soirée........DC





Avatar
anonymousA
Bonjour,

Pour compléter la réponse de LStpeh, et pour se passer de OnTime,
j'adapterais simplement les procs suivantes.

Private Sub CommandButton1_Click()
With CommandButton1
If .Caption = "Stop" Then
.Caption = "Start"
End
Else
.Caption = "Stop"
playlights
End If
End With
End Sub
''''******dans module1********

Sub playlights()

While Feuil1.commandbutton1.caption="Stop"

Range("vt").Select
With ActiveCell
Range(.Offset(0, 0), .Offset(-3, 0)) = 0
For I = 0 To 3
.Offset(-I, 0).Value = 1
couleur 3
.Offset(-I, 0).Value = 0
Next
End With

Wend

End Sub

Sub couleur(temps)
Dim S As Double
S = Timer + 5
While Timer < S
DoEvents
Wend
End Sub

A+

Bonsoir à tous,...............Excel 2000 sous XP

Bonne fête de Noël et bon réveillon pour demain soir...!!!!!!!!!!!!

Voici ci-dessous, une procédure qui fonctionne, mais que j'aimerais faire
tourner sur elle-même, elle à pour rôle, la simulation de fonctionnement
d'un feux tricolores, par apparition temporisée de (1 ou 0) dans 4 cellules,
l'une au dessus de l'autre,....................Merci de m'avoir lu...!!
'-----------------------------------------------------
Sub playlights()
Application.Goto Reference:="vt"
With Range("vt")
End With
With ActiveCell
For I = 0 To 3
.Offset(-I, 0).Value = 1
couleur 3
.Offset(-I, 0).Value = 0
Next
End With
End Sub

Sub couleur(temps)
Dim S As Double
S = Timer + 5
While Timer < S
DoEvents
Wend
End Sub
'--------------------------------------------------

Cordialement.........Merci d'avance........bonne soirée........DC





Avatar
LSteph
Salut anonymousA,

j'apprécie la variante !
While..Wend
cela me rappelle les bons vieux GW et Qbasic

Bon Réveillon.

lSteph


"anonymousA" a écrit dans le message de news:
43ad33d1$0$11352$
Bonjour,

Pour compléter la réponse de LStpeh, et pour se passer de OnTime,
j'adapterais simplement les procs suivantes.

Private Sub CommandButton1_Click()
With CommandButton1
If .Caption = "Stop" Then
.Caption = "Start"
End
Else
.Caption = "Stop"
playlights
End If
End With
End Sub
''''******dans module1********

Sub playlights()

While Feuil1.commandbutton1.caption="Stop"

Range("vt").Select
With ActiveCell
Range(.Offset(0, 0), .Offset(-3, 0)) = 0
For I = 0 To 3
.Offset(-I, 0).Value = 1
couleur 3
.Offset(-I, 0).Value = 0
Next
End With

Wend

End Sub

Sub couleur(temps)
Dim S As Double
S = Timer + 5
While Timer < S
DoEvents
Wend
End Sub

A+

Bonsoir à tous,...............Excel 2000 sous XP

Bonne fête de Noël et bon réveillon pour demain soir...!!!!!!!!!!!!

Voici ci-dessous, une procédure qui fonctionne, mais que j'aimerais faire
tourner sur elle-même, elle à pour rôle, la simulation de fonctionnement
d'un feux tricolores, par apparition temporisée de (1 ou 0) dans 4
cellules, l'une au dessus de l'autre,....................Merci de m'avoir
lu...!!
'-----------------------------------------------------
Sub playlights()
Application.Goto Reference:="vt"
With Range("vt")
End With
With ActiveCell
For I = 0 To 3
.Offset(-I, 0).Value = 1
couleur 3
.Offset(-I, 0).Value = 0
Next
End With
End Sub

Sub couleur(temps)
Dim S As Double
S = Timer + 5
While Timer < S
DoEvents
Wend
End Sub
'--------------------------------------------------

Cordialement.........Merci d'avance........bonne soirée........DC






Avatar
DC
Bonjour à tous........Bonjour JF Aubert + LSteph + anonymousA,

Merci de vos réponses positives..................bon Noël...!!

J'ai opté pour la solution de LSteph, car elle se rapproche le plus de ma
vue d'ensemble,

Pourquoi, 4 cellules de commandes pour (3 feux tricolore ) x 2 ), parce-que
dans un carrefour il y à 2 jeux de feux tricolore,
et le problème à résoudre, c'est la synchro. et le fait que pendant
l'orange, l'autre jeux doit rester au rouge et vis-versa, donc j'ai un
orange normal et un orange bis, d'ou les 4 cellules de commandes, qui elles
gouvernes les 3 cellules feux + 3 cellules feux, par le fait que c'est
cellules sont en MEFC pour obtenir les couleurs désirées, et les cellules de
commandes orange + orange bis, agissent sur une double conditions de
couleur, (orange+rouge)

Un peu compliqué mon explication, mais j'espère que çà ira,quand même,

De plus je voudrais préciser un petit dèfaut, c'est que la tempo. est
uniforme pour les 3 feux, tandis que dans la réalité, le passage à l'orange
est beaucoup plus court, mais bon........... je ne vais pas t'ennuyer avec
çà, l'on verra comment y remédier plus tard,

Cordialement...un grand Merci à tous les trois...et Bon NOËL...!!

"anonymousA" a écrit dans le message de news:
43ad33d1$0$11352$
Bonjour,

Pour compléter la réponse de LStpeh, et pour se passer de OnTime,
j'adapterais simplement les procs suivantes.

Private Sub CommandButton1_Click()
With CommandButton1
If .Caption = "Stop" Then
.Caption = "Start"
End
Else
.Caption = "Stop"
playlights
End If
End With
End Sub
''''******dans module1********

Sub playlights()

While Feuil1.commandbutton1.caption="Stop"

Range("vt").Select
With ActiveCell
Range(.Offset(0, 0), .Offset(-3, 0)) = 0
For I = 0 To 3
.Offset(-I, 0).Value = 1
couleur 3
.Offset(-I, 0).Value = 0
Next
End With

Wend

End Sub

Sub couleur(temps)
Dim S As Double
S = Timer + 5
While Timer < S
DoEvents
Wend
End Sub

A+

Bonsoir à tous,...............Excel 2000 sous XP

Bonne fête de Noël et bon réveillon pour demain soir...!!!!!!!!!!!!

Voici ci-dessous, une procédure qui fonctionne, mais que j'aimerais faire
tourner sur elle-même, elle à pour rôle, la simulation de fonctionnement
d'un feux tricolores, par apparition temporisée de (1 ou 0) dans 4
cellules, l'une au dessus de l'autre,....................Merci de m'avoir
lu...!!
'-----------------------------------------------------
Sub playlights()
Application.Goto Reference:="vt"
With Range("vt")
End With
With ActiveCell
For I = 0 To 3
.Offset(-I, 0).Value = 1
couleur 3
.Offset(-I, 0).Value = 0
Next
End With
End Sub

Sub couleur(temps)
Dim S As Double
S = Timer + 5
While Timer < S
DoEvents
Wend
End Sub
'--------------------------------------------------

Cordialement.........Merci d'avance........bonne soirée........DC






Avatar
anonymousA
bon reveillon à toi aussi

A+


Salut anonymousA,

j'apprécie la variante !
While..Wend
cela me rappelle les bons vieux GW et Qbasic

Bon Réveillon.

lSteph


"anonymousA" a écrit dans le message de news:
43ad33d1$0$11352$

Bonjour,

Pour compléter la réponse de LStpeh, et pour se passer de OnTime,
j'adapterais simplement les procs suivantes.

Private Sub CommandButton1_Click()
With CommandButton1
If .Caption = "Stop" Then
.Caption = "Start"
End
Else
.Caption = "Stop"
playlights
End If
End With
End Sub
''''******dans module1********

Sub playlights()

While Feuil1.commandbutton1.caption="Stop"

Range("vt").Select
With ActiveCell
Range(.Offset(0, 0), .Offset(-3, 0)) = 0
For I = 0 To 3
.Offset(-I, 0).Value = 1
couleur 3
.Offset(-I, 0).Value = 0
Next
End With

Wend

End Sub

Sub couleur(temps)
Dim S As Double
S = Timer + 5
While Timer < S
DoEvents
Wend
End Sub

A+


Bonsoir à tous,...............Excel 2000 sous XP

Bonne fête de Noël et bon réveillon pour demain soir...!!!!!!!!!!!!

Voici ci-dessous, une procédure qui fonctionne, mais que j'aimerais faire
tourner sur elle-même, elle à pour rôle, la simulation de fonctionnement
d'un feux tricolores, par apparition temporisée de (1 ou 0) dans 4
cellules, l'une au dessus de l'autre,....................Merci de m'avoir
lu...!!
'-----------------------------------------------------
Sub playlights()
Application.Goto Reference:="vt"
With Range("vt")
End With
With ActiveCell
For I = 0 To 3
.Offset(-I, 0).Value = 1
couleur 3
.Offset(-I, 0).Value = 0
Next
End With
End Sub

Sub couleur(temps)
Dim S As Double
S = Timer + 5
While Timer < S
DoEvents
Wend
End Sub
'--------------------------------------------------

Cordialement.........Merci d'avance........bonne soirée........DC