Cellule Clignote selon vide ou écrite
a
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 SubMacros 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
Invité
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...
@+
a
Merci BrunoM45
J'ai
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
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 SubSalut 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
A+
b
boss_68Membre impliqué
- Messages
- 1'089
- Excel
- 2021 FR
- Inscrit
- 17/12/2018
- Emploi
- Technicien maintenance robot Retraité