Re: Cellule clignotante |
Titre du sujet : Re: Cellule clignotante par myDearFriend! le 14/11/2014 18:26:19 Bonjour ericcool, le Forum,
En pièce jointe, peut-être une solution si j'ai bien compris le problème...
J'ai utilisé de le code VBA suivant :
DANS LE MODULE DE CODE DE L'OBJET THISWORKBOOK Option Explicit
' myDearFriend! - www.mdf-xlpages.com Private Sub Workbook_Open() Set CellCible = Sheets(1).Range("B28") Set CellTest = Sheets(1).Range("F28") 'Lance le clignotement à l'ouverture si Feuil1 est active et si la cellule F28 supérieure à 0.6 OkClign ActiveSheet End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) 'Interrompt le clignotement éventuel avant fermeture StopClign End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) OkClign Sh End Sub Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Not Sh Is Feuil1 Then Exit Sub If Not Application.Intersect(Target, Sh.Range("F11:F26")) Is Nothing Then 'Lance ou stoppe le clignotement OkClign Sh End If End Sub
DANS UN MODULE DE CODE STANDARD (ex: Module1) Option Explicit
' myDearFriend! - www.mdf-xlpages.com Public CellCible As Range, CellTest As Range Dim Temps As Variant Public Sub OkClign(Sh As Worksheet) 'Lance le clignotement si Feuil1 est active et si la cellule F28 supérieure à 0.6 If Sh Is Feuil1 And CellTest.Value > 0.6 Then Clign Else StopClign End If End Sub Private Sub Clign() 'Programmation de l'évènement toutes les secondes Temps = Now + TimeValue("00:00:01") Application.OnTime Temps, "Clign" 'Affiche l'alerte ou la fait disparaître (alternativement) With CellCible .Interior.ColorIndex = IIf(.Interior.ColorIndex = 3, xlNone, 3) End With End Sub Public Sub StopClign() On Error Resume Next 'Stoppe la gestion de l'évènement OnTime Application.OnTime Temps, "Clign", , False On Error GoTo 0 'Cache l'alerte CellCible.Interior.ColorIndex = xlNone End Sub
|
Forums