Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

SUR :faire clignoter cellule

15 réponses
Avatar
Charlyp
bonjour,
j'aimerai faire clignoter les cellules qui comportent un certain mot dans
une colonne, pouvez-vous m'aider?
J'utilise excel2003.

10 réponses

1 2
Avatar
FFO
Salut à toi

Le clignotement alourdi le fonctionnement du fichier

Pour l'obtenir malgré tout tu peux mettre dans le VBA de la feuille ces
lignes :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "Mot" Then
Target.Style = "Flash"
Run ("Clignotement")
Else
Target.Style = "Normal"
Run ("Clignotement")
End If
End Sub

Puis créer une macro "Clignotement" dans laquelle tu mets ces lignes :

NextTime = Now + TimeValue("00:00:01")
With ActiveWorkbook.Styles("Flash").Interior
If .ColorIndex = 6 Then .ColorIndex = 7 Else .ColorIndex = 6
End With
Application.OnTime NextTime, "Clignotement"

Enfin tu ajoutes le style "Flash" dans :

format/style/Flash/ajouter



Actualises les lignes :

If Target = "Mot" Then

du mot que tu souhaites pour ce clignotement

et

If .ColorIndex = 6 Then .ColorIndex = 7 Else .ColorIndex = 6

des couleurs pour ce clignotement


Fais des essais et dis moi !!!!!!
Avatar
Charlyp
merci de ta prompte réponse, pour ne pas alourdir le fichier y aurait-il un
autre moyen pour attirer l'attention sur ces cellules?


"FFO" a écrit dans le message de news:

Salut à toi

Le clignotement alourdi le fonctionnement du fichier

Pour l'obtenir malgré tout tu peux mettre dans le VBA de la feuille ces
lignes :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "Mot" Then
Target.Style = "Flash"
Run ("Clignotement")
Else
Target.Style = "Normal"
Run ("Clignotement")
End If
End Sub

Puis créer une macro "Clignotement" dans laquelle tu mets ces lignes :

NextTime = Now + TimeValue("00:00:01")
With ActiveWorkbook.Styles("Flash").Interior
If .ColorIndex = 6 Then .ColorIndex = 7 Else .ColorIndex = 6
End With
Application.OnTime NextTime, "Clignotement"

Enfin tu ajoutes le style "Flash" dans :

format/style/Flash/ajouter



Actualises les lignes :

If Target = "Mot" Then

du mot que tu souhaites pour ce clignotement

et

If .ColorIndex = 6 Then .ColorIndex = 7 Else .ColorIndex = 6

des couleurs pour ce clignotement


Fais des essais et dis moi !!!!!!




Avatar
FFO
Rebonjour à toi

Tu peux mettre une couleur de fond dans ces cellules et de plus un compteur
en A1 par exemple qui comptabiliserait le nombre de ces cellules

Pour celà mets ces lignes dans le VBA de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> Range("A1").Address Then
If Target = "Mot" Then
Target.Interior.ColorIndex = 6
Range("A1") = Range("A1") + 1
Else
Target.Interior.ColorIndex = xlNone
Range("A1") = Range("A1") - 1
End If
End If
End Sub

Actualises la ligne :

If Target = "Mot" Then

du Mot que tu souhaites

Changes : Range("A1") si tu veux une autre cellule pour le compteur

Fais des essais et dis moi !!!!!
Avatar
FFO
rebonjour à toi

Un petit plus avec la mise en couleur rouge du compteur si il est supérieur
à 0
Dans le VBA de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> Range("A1").Address Then
If Target = "Mot" Then
Target.Interior.ColorIndex = 6
Range("A1") = Range("A1") + 1
Range("A1").Interior.ColorIndex = 3
Else
Target.Interior.ColorIndex = xlNone
Range("A1") = Range("A1") - 1
If Range("A1") = 0 Then
Range("A1").Interior.ColorIndex = xlNone
End If
End If
End If
End Sub

Peut être mieux

Dis moi !!!!!
Avatar
Charlyp
j'ai mis le code, ai changé "mot" par "à livrer!"

rien ne se passe, une cellule comportant ce mot, reste idem avant et rien
dans la cellule A1

"FFO" a écrit dans le message de news:

Rebonjour à toi

Tu peux mettre une couleur de fond dans ces cellules et de plus un
compteur
en A1 par exemple qui comptabiliserait le nombre de ces cellules

Pour celà mets ces lignes dans le VBA de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> Range("A1").Address Then
If Target = "Mot" Then
Target.Interior.ColorIndex = 6
Range("A1") = Range("A1") + 1
Else
Target.Interior.ColorIndex = xlNone
Range("A1") = Range("A1") - 1
End If
End If
End Sub

Actualises la ligne :

If Target = "Mot" Then

du Mot que tu souhaites

Changes : Range("A1") si tu veux une autre cellule pour le compteur

Fais des essais et dis moi !!!!!



Avatar
FFO
Rebonjour à toi

Sur ce lien un exemple

http://www.cijoint.fr/cjlink.php?file=cj200906/cijwFV2Jd0.xls

J'ai légèrement modifié le code pour l'améliorer mais qui devait fonctionner
en l'état :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> Range("A1").Address Then
If Target = "à livrer!" Then
Target.Interior.ColorIndex = 6
Range("A1") = Range("A1") + 1
Else
If Target.Interior.ColorIndex = 6 Then
Target.Interior.ColorIndex = xlNone
Range("A1") = Range("A1") - 1
End If
End If
End If
End Sub

Récupères le document et ouvres le

En Feuil1 écrits n'importe où sauf en A1 le mot "à livrer!"

Constates le résultat et dis moi !!!!!
Avatar
Charlyp
en ayant mis ce code,

j'ai -4 dans A1 sans écrire "à livrer!" dans aucune cellule de la feuille,
si je l'écris 1fois dans une cellule de la feuille ladite cellule se colore
en jaune et en A1 j'ai -3



"FFO" a écrit dans le message de news:

Rebonjour à toi

Sur ce lien un exemple

http://www.cijoint.fr/cjlink.php?file=cj200906/cijwFV2Jd0.xls

J'ai légèrement modifié le code pour l'améliorer mais qui devait
fonctionner
en l'état :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> Range("A1").Address Then
If Target = "à livrer!" Then
Target.Interior.ColorIndex = 6
Range("A1") = Range("A1") + 1
Else
If Target.Interior.ColorIndex = 6 Then
Target.Interior.ColorIndex = xlNone
Range("A1") = Range("A1") - 1
End If
End If
End If
End Sub

Récupères le document et ouvres le

En Feuil1 écrits n'importe où sauf en A1 le mot "à livrer!"

Constates le résultat et dis moi !!!!!



Avatar
FFO
Rebonjour à toi

Tes dernières constatations confirment que celà fonctionne
Il faut tout simplement mettre le compteur à 0 au départ en le saisissant
manuellement en A1

Essaies et dis moi !!!!!
Avatar
Charlyp
bonjour,
oui cela fonctionne comme ça merci, je viens de penser, au lieu d'avoir le
compteur en A1, ne peut-on pas avoir une fenetre flottante affichant ce
résultat, près de la cellule active du moment?

"FFO" a écrit dans le message de news:

Rebonjour à toi

Tes dernières constatations confirment que celà fonctionne
Il faut tout simplement mettre le compteur à 0 au départ en le saisissant
manuellement en A1

Essaies et dis moi !!!!!



Avatar
FFO
Rebonjour à toi
On peut mettre une boîte de dialogue donnant le nombre de cellules et un
message avec ces lignes à rajouter dans le VBA de la feuille :

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Range("A1") > 0 Then
MsgBox (Range("A1") & " Message")
End If
End Sub

Le compteur doit être maintenu en A1

Actualises la ligne :

MsgBox (Range("A1") & " Message")

en remplaçant le mot Message par le message que tu souhaites voir afficher
en plus du compteur Range("A1")
1 2