Clignote

Bonjour a tous,

J'ai besoin de vous ^--^

je veux faire clignote les cellules dans la plage ( B2:B1031 )si la condition est la valeur du cellule <50%.

Merci d'avance

26clignote.xlsx (32.16 Ko)

Bonjour,

Voici, un léger aperçu azu démarrage de ta feuil1 mais je n'ai pas eût le temps de le finir

il faut juste le re-paramétré

c'est aperçu test bien évidemment !!!

crdlt,

André

RE edit NEW

test003 clignote, j'ai supprimé lors de l'ouverture le clignotement, il restera à cliquer sur le bouton

fonctionnel

Bonjour,

Un procédé simple, sinon même simpliste :

Sub Clignote()
    With Worksheets("Feuil1")
        .Calculate
        If .Range("Z1") = 1 Then Application.OnTime Now + TimeValue("00:00:01"), _
         "Clignote"
    End With
End Sub

Sub Clign()
    Worksheets("Feuil1").Range("Z1") = 1
    Clignote
End Sub

Sub StopClign()
    Worksheets("Feuil1").Range("Z1").ClearContents
End Sub

Le clignotement devient vite pénible, et ne permet guère de travailler sereinement... Il est donc préférable de le lancer manuellement et de pouvoir l'arrêter : la proc. Clign permet de le lancer, elle est attachée au bouton rouge, la proc. StopClign permet de l'arrêter, elle est attachée au bouton vert.

Lancement ou arrêt consiste simplement à mettre une valeur en Z1 ou l'effacer. Et le lancement s'accompagne du lancement de la procédure Clignote qui va assurer la continuité du clignotement.

Cette procédure opère par un recalcul de la feuille et se relance elle-même toutes les secondes. Elle se relance tant que Z1 contient la valeur 1, ce qui permet d'arrêter le clignotement lorsque Z1 est effacée.

Le clignotement proprement dit est produit par MFC : 2 MFC qui alternent selon que le nombre de secondes de l'heure est pair ou impair. La condition de valeur est prise en compte pour n'affecter que les cellules concernées, la condition relative à Z1 également pour que la mise en forme n'affecte pas les cellules si on ne clignote pas...

=ET(B2<0,5;MOD(SECONDE(MAINTENANT());2)=0;$Z$1=1)

=ET(B2<0,5;MOD(SECONDE(MAINTENANT());2)=1;$Z$1=1)

Ce système est facilement adaptable...

Il convient le cas échéant de stopper le clignotement à la fermeture du classeur : pour ce faire programmer la proc. BeforeClose du classeur pour qu'elle exécute StopClign...

Cordialement.

Re,

Merci MFerrand

Eh oui, je viens de remarquer que lorsqu'une procédure c'est très difficile de la stopper,

mais, en tout cas, j'ai essayé, merci de me remettre sur le bon chemin

je vais y arrivé un jour

crdlt,

André

avec tous mes respects, merci les chefs :::::::::::)))))

Salut André !

Ton code fait un peu touffu parce que tu as une duplication du code niveau classeur dans le module de la feuille. A cet emplacement les procédures ne fonctionneront jamais, il faut les supprimer (les mêmes sont dans ThisWorkbook si j'ai bien vu).

La nature des conditions fait qu'il est plus simple dans ce cas de passer par MFC... (plutôt que Sheet_Change...) D'autre part, ta variable temps doit être de niveau module pour permettre l'arrêt de la façon dont tu le fais.

Une petite révision pour ajuster l'ensemble et tu auras un système fonctionnel qui selon le cas répondra le mieux à la situation... (il y a toujours plusieurs solutions pour arriver au même résultat...)

Cordialement.

Rechercher des sujets similaires à "clignote"