Faire clignoter des cellules sur excel

Bonjour à tous ,

Je souhaite faire clignoter des cellules sur excel .

J'ai un tableau avec n interventions sur une machine , ces interventions ont une périodicité a respecté . Sur mon fichier excel , j'ai une colonne avec la date de la dernière intervention et une autre avec la date de la prochaine intervention,j'ai crée une nouvelle colonne que j'ai nommé alertes ou j'ai mis 3 couleurs (Rouge ,orange et vert ) ,dans cette colonne j'ai mis seulement une mise en forme conditionnel qui permet à la cellule de changer de couleur quand la date de la prochaine intervention est proche (en vert + J-7 , orange entre j-7 et la date d'intervention et rouge quand la date est arrivé ou dépassé ) .

Mon problème est que je souhaite faire mieux , au lieu que ces cellules ou il y a les couleurs change seulement de couleur , je souhaite que quand elle passe à l'orange et au rouge commence à clignoter.

J'espère que j'étais clair dans mes explications .S'il le faut vous me dite et je vous joint le fichier excel que j'ai crée .
Je vous remercie d'avance de vos réponses

7 réponses

  1. Contributeur
    Bonjour,

    Voici un code qui fait clignoter une cellule au changement de saisie. A adapter suivant les besoin.

    Mettre dans un module:

    Option Explicit
    Sub Flash()
    Static i
    i = i + 1
    'le clignotement
    If ActiveCell.Interior.ColorIndex = 6 Then
    ActiveCell.Interior.ColorIndex = 3 'fond rouge
    ActiveCell.Font.ColorIndex = 6 'caractères en jaune
    Else
    ActiveCell.Interior.ColorIndex = 6 'fond jaune
    ActiveCell.Font.ColorIndex = 3 'caractères en rouge
    End If

    'tant que le nombre de clignotements choisi n'est pas atteint
    '(ici 5) on continue
    If i <= 5 Then
    Application.OnTime Now + TimeValue("00:00:01"), "Flash"
    Else
    'sinon, on revient à la mise ne forme par défaut d'Excel
    'et on arrête tout
    ActiveCell.Interior.ColorIndex = xlNone 'fond incolore
    ActiveCell.Font.ColorIndex = 1 'caractères en noir
    i = 0
    End If
    End Sub
    Sub InitFlash()
    'lance un clignotement toutes les secondes
    Application.OnTime Now + TimeValue("00:00:01"), "Flash"
    End Sub



    Mettre dans la feuille concernée. C'est là qu'il faudra faire des modif. Elle est réglée pour le changement de la cellule C13.

    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$C$13" Then
    InitFlash
    End If
    End Sub

    Bonne programmation
    -1
    1. Je vous remercie pour votre réponse aussi rapide
      J'ai mis le premier code dans ThisWorkBook et le 2éme dans la feuille concernée toute en changeant le numéro de cellule mais ma cellule se met en jaune sans clignoter , et même quand je change la date ,elle reste jaune .
      Je vous met le fichier pour bien comprendre la problématique .
      https://www.cjoint.com/?3CCmS1EmxVM
      0