Cellule Clignote selon vide ou écrite

Bonjour.

Si vous avez une idée pour faire fonctionner le clignotement de la cellule B1 selon si elle est vide ou écrite ;

Merci pour toute réponse.

les macros sont dans le fichier Excel ci-joint : J’ai mis « VarEclairage » à 1 dans le « Gestionnaire de noms ».

Macros Dans ThisWorkbook :

Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
   ArrêtEclairage
End Sub
‘=============================================================================
Private Sub Workbook_Open()
      If Range("B1") <> "" Then
    Eclairage
   End If
End Sub

Macros Dans Module1

Dim vNow As Variant:
Public Sub Eclairage()
vNow = Now + TimeValue("00:00:02")
Application.OnTime vNow, "Eclairage"
ActiveWorkbook.Names.Add Name:="VarEclairage", RefersToR1C1:=1 - [VarEclairage]
End Sub
‘===========================================================================
Public Sub ArrêtEclairage()
Application.OnTime EarliestTime:=vNow, _
    Procedure:="Eclairage", Schedule:=False
ActiveWorkbook.Names.Add Name:="VarEclairage", RefersToR1C1:=1
End Sub
18testcligno.xlsm (21.43 Ko)


Bonjour abdu,

Il faut peut-être faire quelque chose à la cellule si vous voulez quelle clignote

Là, il n'y a que la procédure qui est exécutée...

@+

Merci BrunoM45

J'ai

5testcligno.xlsm (22.39 Ko)
6testcligno.xlsm (22.40 Ko)

trouvé la solution; j'ai changé les macros et ça marche

Code dans la feuille:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call StopClign
Call Clign
End Sub
'code dans ThisWorkbook
Private Sub Workbook_Open()
'Lance le clignotement à l'ouverture si les conditions sont requises
Call Clign
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Interrompt le clignotement éventuel avant fermeture
StopClign
End Sub 
11testcligno.xlsm (22.40 Ko)

Code Dans Module1:

Option Explicit Dim BlinkTime As Date Public Sub Clign() BlinkTime = Now() + TimeValue("00:00:01") 'le temps du clignotement On Error Resume Next Sheets("Cligno").[B1] 'Zone du clignotement If [B1].Interior.ColorIndex = xlNone Then If [B1].Value <> "" Then [B1].Interior.ColorIndex = 3 'couleur du clignotement rouge Else [B1].Interior.ColorIndex = xlNone 'pas de couleur End If Else [B1].Interior.ColorIndex = xlNone 'pas de couleur End If Application.OnTime BlinkTime, "Clign", , True End Sub Sub StopClign() On Error Resume Next Sheets("Cligno").Range("B1").Interior.ColorIndex = xlNone Application.OnTime BlinkTime, "Clign", , False End Sub

Salut Abdu,
Salut BrunoM45,

Public Sub Eclairage()
'
On Error Resume Next
'
With Worksheets("Cligno")
    If .[B1] <> "" Then
        .[B1].Interior.Color = IIf(.[B1].Interior.Color = RGB(255, 255, 255), RGB(195, 195, 195), RGB(255, 255, 255))
        Application.OnTime Now + TimeValue("00:00:02"), "Eclairage"
    Else
        .[B1].Interior.Color = RGB(255, 255, 255)
        Application.OnTime Now + TimeValue("00:00:02"), "Eclairage", , False
    End If
End With
'
On Error GoTo 0
'
End Sub
14abdu.xlsm (19.82 Ko)


A+

Bonsoir,

Toujours dans le même principe

Slts

Rechercher des sujets similaires à "clignote vide ecrite"