J
jco
Guest
bonjour à tous et bravo aux différents intervenants du site. Je le consulte pratiquement
chaque jour, c'est une mine d'or pour apprendre et avoir des idées.
je vous soumet une procédure que je n'arrive pas à résoudre.
je souhaite faire clignoter un voyant chaque seconde.
Le progamme fonctionne à peu près, car le voyant clignote mais :
1) la ligne ontime doit obligatoirment être presente à la fois dans la procedure voyant et
dans la procédure activate. Ce qui m'étonne et je ne comprends pas pourquoi.
2) la procédure deactivate ne fonctionne pas car j'ai deux fichiers ouverts en même temps
et excel me demande les paramêtres de sécurités pour les virus. Je suppose donc qu'excel
veut réouvrir mon fichier fermé pour exécuter une nouvelle fois la macro voyant
******* sur une feuille qui lance le programme
Public testvoyant As Boolean
Public alumiere As Object ' objet ellipse de la barre dessin'
sheets("compteur").select
Public Sub voyant()
If testvoyant = True Then
alumiere.Fill.ForeColor.SchemeColor = 17
testvoyant = False
Else
alumiere.Fill.ForeColor.SchemeColor = 0
testvoyant = True
End If
Application.OnTime Now + TimeValue("00:00:01"), "voyant"
end sub
***** sur une feuille 'compteur'
Private Sub Worksheet_Activate()
Set alumiere = Worksheets("Compteur").Shapes("lumiere")
Application.OnTime Now + TimeValue("00:00:01"), "voyant"
End Sub
Private Sub Worksheet_Deactivate()
Application.OnTime EarliestTime, Procedure:="voyant", Schedule:=False
End Sub
chaque jour, c'est une mine d'or pour apprendre et avoir des idées.
je vous soumet une procédure que je n'arrive pas à résoudre.
je souhaite faire clignoter un voyant chaque seconde.
Le progamme fonctionne à peu près, car le voyant clignote mais :
1) la ligne ontime doit obligatoirment être presente à la fois dans la procedure voyant et
dans la procédure activate. Ce qui m'étonne et je ne comprends pas pourquoi.
2) la procédure deactivate ne fonctionne pas car j'ai deux fichiers ouverts en même temps
et excel me demande les paramêtres de sécurités pour les virus. Je suppose donc qu'excel
veut réouvrir mon fichier fermé pour exécuter une nouvelle fois la macro voyant
******* sur une feuille qui lance le programme
Public testvoyant As Boolean
Public alumiere As Object ' objet ellipse de la barre dessin'
sheets("compteur").select
Public Sub voyant()
If testvoyant = True Then
alumiere.Fill.ForeColor.SchemeColor = 17
testvoyant = False
Else
alumiere.Fill.ForeColor.SchemeColor = 0
testvoyant = True
End If
Application.OnTime Now + TimeValue("00:00:01"), "voyant"
end sub
***** sur une feuille 'compteur'
Private Sub Worksheet_Activate()
Set alumiere = Worksheets("Compteur").Shapes("lumiere")
Application.OnTime Now + TimeValue("00:00:01"), "voyant"
End Sub
Private Sub Worksheet_Deactivate()
Application.OnTime EarliestTime, Procedure:="voyant", Schedule:=False
End Sub