Faire clignoter une cellule

  • Initiateur de la discussion Initiateur de la discussion Aloha
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Aloha

XLDnaute Accro
Bonjour,

Mon but est de rendre les gens attentifs au fait qu'une certaine cellule contient encore une valeur après le 31 mars de l'année en cours alors qu'elle devrait être à 0.

Avec mes moyens de bord je suis capable de faire rougir cette cellule par formatage conditionnel. Seulement, certaines gens semblent être résistantes à cette méthode et ne le remarquent apparemment pas.

Voilà pourquoi je voudrais en surcroît faire clignoter cette cellule. Est-ce possible? Si oui, comment?

Petit bémol incontournable: lorsque les gens impriment la feuille il n'y a évidemment plus moyen de continuer à faire clignoter!

Voir fichier joint svp.

Merci pour votre aide

Aloha

Bonne journée

Aloha
 

Pièces jointes

Re : Faire clignoter une cellule

Bonjour à tous,
Salut Bruno,

Comme déjà écrit, Excel sera inutilisable pendant la durée du code (ici 5 secondes) :

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Byte
    Range("A5").FormatConditions.Delete    'Suppression des MeFC
    If Not Intersect(Target, Range("A5")) Is Nothing Then    'Pour la cellule A5
        ' et seulement si la valeur est supérieure à 0 et la date actuelle supérieure au 31/03 de l'année en cours
        If Range("A5").Value > 0 And Date > DateSerial(Year(Now), 3, 1) Then
            Range("A5").Select
            Range("A5").FormatConditions.Delete
            For i = 1 To 5    'Faire clignoter 5 fois de couleur rouge toutes 1 seconde
                Selection.Interior.ColorIndex = 3
                Application.Wait (Now + TimeValue("00:00:01"))
                Selection.Interior.ColorIndex = xlNone
                Application.Wait (Now + TimeValue("00:00:01"))
            Next i
        End If
    End If

    With Range("A5")    'Ajouter la MeFC
        .Select
        .FormatConditions.Add Type:=xlExpression, Formula1:= _
                              "=ET(A5>0;AUJOURDHUI()>DATE(ANNEE(AUJOURDHUI());3;1))"
        .FormatConditions(1).Interior.ColorIndex = 3
    End With
    Range("A5").Interior.ColorIndex = 4
End Sub

A + à tous
 

Pièces jointes

Re : Faire clignoter une cellule

Bonjour Bruno45 et JCGL,

Si Excel est bloqué pendant un temps X, ce n'est pas grave, au contraire: je voudrais même pousser éventuellement la chose un peu plus loin encore: que Excel se débloque seulement lorsqu'on aurait cliqué sur un message qui apparaîtrait lorsque les conditions définies sont remplies (Maintenant()>31.3. & la valeur de la cellule >0).

Serait-ce possible?

Dans les classeurs, puisqu'il y en a plusieurs, j'ai un nombre variable de fiches (feuilles) dont un certain nombre peuvent remplir les conditions pour le clignotement (et le message).

Seulement, -je n'étais pas assez clair dans mon énoncé-, cette valeur elle y restera jusqu'à ce qu'on entreprenne quelque chose pour que la formule (puisqu'elle est le résultat d'un calcul) ne produise plus une valeur >0, mais 0 justement et le clignotement ne sera donc visible qu'une fois au maximum. L'idéal serait qu'elle clignote pendant 5 secondes chaque fois que la feuille est affichée.
A+
Aloha
 
Re : Faire clignoter une cellule

Bonjour,

vois si cela peut t'inspirer :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Address = "$D$11" Then
        Target.Offset(, 1).Select
        Selection.Value = "Stop"
        Do Until Target.Offset(, 1) = ""
            DoEvents
            Application.ScreenUpdating = False
            Target.Font.ColorIndex = 2
            Application.Wait (Now + TimeValue("0:00:01"))
            Application.ScreenUpdating = True
            Target.Font.ColorIndex = 0
        Loop
    End If
End Sub
 

Pièces jointes

Re : Faire clignoter une cellule

Bonjour "Fo_rum",

Merci pour ton message.

Seulement, je connais VBA à peine assez pour essayer de comprendre le code, mais j ne suis pas capable de tirer profit de ton code.

A+

Aloha

P.S.: hélas j'avais oublié que le classeur contenant les fiches, ainsi que les fiches (feuilles) elles-mêmes sont produits à chaque fois par un code et le code qui doit faire clignoter la cellule dans chaque feuille doit donc par la même action du code principal, qui se trouve donc dans un classeur principal, être inséré de façon à ce qu'il soit actif dans toutes les feuilles.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

G
Réponses
15
Affichages
2 K
Couette
C
Retour