Cellule Clignotante Arrêter Clignotement

Résolu/Fermé
Viking58 Messages postés 186 Date d'inscription vendredi 5 décembre 2014 Statut Membre Dernière intervention 5 janvier 2018 - 7 sept. 2015 à 16:33
Viking58 Messages postés 186 Date d'inscription vendredi 5 décembre 2014 Statut Membre Dernière intervention 5 janvier 2018 - 10 sept. 2015 à 15:00
Bonjour.
A la suite de mes essais de clignotement:
Sur ce code: (Fonctionne très bien)

Dim vNow As Variant
Public Sub Eclairage()
vNow = Now + TimeValue("00:00:01")
If Range("E3") <> "" Then Range("H1").Interior.ColorIndex = IIf(Range("H1").Interior.ColorIndex = 3, 27, 3)
Application.OnTime vNow, "Eclairage"
End Sub

1) Si je désire que le clignotement s'arrête au bout de 30 secondes, que dois je rajouter ? J'ai essayé de reprendre les données de mon problème précédent, cela ne fonctionne pas.

2ème question:

2) Quelle est le code pour arrêter le clignotement par bouton ?
J'ai essayé sans succès:

Private Sub CommandButton8_Click()
'Sub ArretEclairage()
On Error Resume Next
On Error Resume Next
Application.OnTime Timer, "Eclairage", , False
Range("H1:I2").Interior.ColorIndex = xlNone
End Sub

Ou est l'erreur ?

Merci





3 réponses

f894009 Messages postés 17186 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 30 avril 2024 1 703
7 sept. 2015 à 17:22
Bonjour,

si NS>constante sortie

Dim vNow As Variant
Dim NS As Byte
Const Duree As Byte = 30

Public Sub Eclairage()
    vNow = Now + TimeValue("00:00:01")
    NS = NS + 1
    If NS > Duree Then NS = 0: Range("H1:I2").Interior.ColorIndex = xlNone: Exit Sub
    If Range("E3") <> "" Then Range("H1").Interior.ColorIndex = IIf(Range("H1").Interior.ColorIndex = 3, 27, 3)
    Application.OnTime vNow, "Eclairage"
End Sub
0
Viking58 Messages postés 186 Date d'inscription vendredi 5 décembre 2014 Statut Membre Dernière intervention 5 janvier 2018 7
7 sept. 2015 à 17:37
Merci f894009.

Fonctionne (même si pendant quelques secondes, le clignotement continue, mais un fraction de seconde)

Maintenant, comment arrêter le clignotement au bout de 30 secondes (par exemple), automatiquement, sans bouton, après son démarrage ?
0
f894009 Messages postés 17186 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 30 avril 2024 1 703 > Viking58 Messages postés 186 Date d'inscription vendredi 5 décembre 2014 Statut Membre Dernière intervention 5 janvier 2018
7 sept. 2015 à 17:43
Re,

avec le code que j'ai mis a dispo !!!!! Y a pas de bouton
0
Viking58 Messages postés 186 Date d'inscription vendredi 5 décembre 2014 Statut Membre Dernière intervention 5 janvier 2018 7 > f894009 Messages postés 17186 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 30 avril 2024
7 sept. 2015 à 17:58
J'ai bien vu. Mais rien n'arrête le clignotement au bout de 30 secondes.
Je voudrais appliquer ça en début du code de clignotant:
Application.OnTime Now + TimeValue("00:00:30"), "ArretEclairage"
Fonctionne sur un code que Mike m'a donné sur une autre demande.
Mais je ne sais pas comment l'adapter à:

Dim vNow As Variant
Public Sub Eclairage()
vNow = Now + TimeValue("00:00:01")
If Range("E3") <> "" Then Range("H1").Interior.ColorIndex = IIf(Range("H1").Interior.ColorIndex = 3, 27, 3)
Application.OnTime vNow, "Eclairage"
End Sub
0
f894009 Messages postés 17186 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 30 avril 2024 1 703 > Viking58 Messages postés 186 Date d'inscription vendredi 5 décembre 2014 Statut Membre Dernière intervention 5 janvier 2018
7 sept. 2015 à 19:34
Re,

J'ai bien vu. Mais rien n'arrête le clignotement au bout de 30 secondes. Si ca s'arrete sans avoir besoin de
Application.OnTime Now + TimeValue("00:00:30"), "ArretEclairage"
0
Viking58 Messages postés 186 Date d'inscription vendredi 5 décembre 2014 Statut Membre Dernière intervention 5 janvier 2018 7 > f894009 Messages postés 17186 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 30 avril 2024
7 sept. 2015 à 19:44
Ok, je te crois. Je n'ai pas assez de connaissances en ce domaine.
Mais ou est le code qui limite la durée du clignotement à 30 secondes, une fois que celui ci est lancé ?
Tous les codes que j'ai pu voir avaient un compteur. ("00:00:30")
Merci
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 077
8 sept. 2015 à 14:06
Bonjour le fil,

Viking, pourquoi ouvres tu chaque jour une discussion sur le même sujet et met le statut de la précédente en résolu.

ne fait pas la même chose avec cette dernière, merci
0
Viking58 Messages postés 186 Date d'inscription vendredi 5 décembre 2014 Statut Membre Dernière intervention 5 janvier 2018 7
8 sept. 2015 à 14:38
Je n'ouvre pas chaque jour une discussion sur le même sujet...
J'ai ouvert en premier:
"Insertion code clignotement dans code insertion ligne"
J'ai mis en résolu, car c'est le cas.
Ensuite, j'ai ouvert:
"Cellule Clignotante Arrêter Clignotement"
Premièrement, parce que je n'arrive pas à adapter la tempo de 30 secondes du code:
Option Explicit
Dim Timer As Date
Sub Clignote()
Dim t As Range
On Error Resume Next
Application.OnTime Now + TimeValue("00:00:30"), "ArretClignote"
For Each t In Range("H1:I2").Cells 'Zone du clignotement ETC...

à mon code qui n'arrête pas le clignotement:

Dim vNow As Variant

Public Sub Eclairage()
vNow = Now + TimeValue("00:00:02")
If Range("E3") = "" Then Range("H1").Interior.ColorIndex = IIf(Range("H1").Interior.ColorIndex = 3, 2, 3)
Application.OnTime vNow, "Eclairage"
End Sub

Deuxièmement pour que mon poste soit bien précis dans son titre.
"Cellule Clignotante Arrêter Clignotement", car j'en ai trouvé plusieurs mais qui ne fonctionnent pas. L'intitulé est précis dans sa demande.
Essayez de trouver un poste avec une mot ou une expression-clé, sur ce forum ou sur un autre, vous verrez qu'il faut passer des heures pour retrouver ses petits, à travers des tires de post plus ou moins "clairs", des reponses plus ou moins valables. C'est dans ce but que mes formulations de demandes sont claires et faciles à retrouver pour quelqu'un qui se pose les mêmes questions.

Cordialement
0
f894009 Messages postés 17186 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 30 avril 2024 1 703
Modifié par f894009 le 8/09/2015 à 14:58
Re,


Vous pouvez repondre a ceci:

Le depart de clignotement est donne aussi par la bouton insertion????

Et l'insertion de ligne est a quelle ligne ??


code modifie en attendent la suite:

Dim vNow As Variant
Dim NS As Byte                     ' compteur de seconde
Const Duree As Byte = 30    ' constante pur parametrer la duree du clignotement

Public Sub Eclairage()
    vNow = Now + TimeValue("00:00:02")
    'si compteur superieur a constante de dure
    'raz compteur,
    'raz couleur plage de cellule,
    'sortie
    If NS > Duree Then NS = 0: Range("H1:I2").Interior.ColorIndex = xlNone: Exit Sub
    If Range("E3") = "" Then
        Range("H1").Interior.ColorIndex = IIf(Range("H1").Interior.ColorIndex = 3, 2, 3)
        'incrementation du compteur
        NS = NS + 2
    Else
        NS = 0: Range("H1:I2").Interior.ColorIndex = xlNone
        Exit Sub
    End If
    Application.OnTime vNow, "Eclairage"
End Sub
0
Viking58 Messages postés 186 Date d'inscription vendredi 5 décembre 2014 Statut Membre Dernière intervention 5 janvier 2018 7
Modifié par Viking58 le 9/09/2015 à 13:16
Merci f894009.

Voici mon code, qui fonctionne très bien.

Dim vNow As Variant

Public Sub Eclairage()
vNow = Now + TimeValue("00:00:02")
If Range("E3") = "" Then Range("H1").Interior.ColorIndex =IIf(Range("H1").Interior.ColorIndex = 3, 2, 3)
Application.OnTime vNow, "Eclairage"
End Sub

Quand j'insère une ligne (en A3) par bouton, H1 clignote avec un message, tant que je n'ai rien mis en E3.
Dés que E3 est renseigné, le clignotement cesse.
Je voudrais donc qu'à partir de l'insertion de ligne, début de clignotement, si je n'inscris rien, le clignotement cesse automatiquement au bout de 30 secondes.

Merci
0
f894009 Messages postés 17186 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 30 avril 2024 1 703 > Viking58 Messages postés 186 Date d'inscription vendredi 5 décembre 2014 Statut Membre Dernière intervention 5 janvier 2018
9 sept. 2015 à 13:40
Bonjour,

j'ai mis un bouton, puisque vous voulez pas mettre votre code complet:

Dim vNow As Variant
Dim NS As Byte                     ' compteur de seconde
Const Duree As Byte = 30    ' constante pur parametrer la duree du clignotement

Sub Bouton1_Cliquer()
    'insertion ligne
    Rows("3:3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    'clignotant
    Eclairage
End Sub

Public Sub Eclairage()
    vNow = Now + TimeValue("00:00:02")
    'si compteur superieur a constante de dure
    'raz compteur,
    'raz couleur plage de cellule,
    'sortie
    If NS > Duree Then NS = 0: Range("H1:I2").Interior.ColorIndex = xlNone: Exit Sub
    If Range("E3") = "" Then
        Range("H1").Interior.ColorIndex = IIf(Range("H1").Interior.ColorIndex = 3, 2, 3)
        'incrementation du compteur
        NS = NS + 2
    Else
        NS = 0: Range("H1:I2").Interior.ColorIndex = xlNone
        Exit Sub
    End If
    Application.OnTime vNow, "Eclairage"
End Sub
0
Viking58 Messages postés 186 Date d'inscription vendredi 5 décembre 2014 Statut Membre Dernière intervention 5 janvier 2018 7 > f894009 Messages postés 17186 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 30 avril 2024
9 sept. 2015 à 13:53
Pardon, c'est un oubli de ma part.

Private Sub CommandButton3_Click()
'Sub Insérer Ligne()
For i = 1 To 2
Sheets(i).Cells(3, 1).EntireRow.Insert
Sheets(i).Rows(Cells(3, 1).Row + 1).Copy Sheets(i).Rows(Cells(3, 1).Row)
On Error Resume Next
Sheets(i).Rows(Cells(3, 1).Row).SpecialCells(xlCellTypeConstants, 23).ClearContents
Dim plage As Range
Set plage = Sheets(i).Range("A3:G3000")
plage.Borders(xlEdgeBottom).LineStyle = xlContinuous
plage.Borders(xlInsideHorizontal).LineStyle = xlContinuous
Next
End Sub
0
f894009 Messages postés 17186 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 30 avril 2024 1 703 > Viking58 Messages postés 186 Date d'inscription vendredi 5 décembre 2014 Statut Membre Dernière intervention 5 janvier 2018
9 sept. 2015 à 14:07
Re,

Et le clignotant c'est sur deux feuilles ?????????????????????????????????????????
0
Viking58 Messages postés 186 Date d'inscription vendredi 5 décembre 2014 Statut Membre Dernière intervention 5 janvier 2018 7 > Viking58 Messages postés 186 Date d'inscription vendredi 5 décembre 2014 Statut Membre Dernière intervention 5 janvier 2018
9 sept. 2015 à 14:13
Non, sur une seule, pourquoi ?
0