problème sur des cellules clignotantes

mppnc

XLDnaute Nouveau
Bonjour à tous, je me tourne vers vous pour essayer de trouver une réponse à mon tout petit problème, n'étant pas un gros connaisseur en VBA.

J'utilise une macro pour faire clignoter des cellules suivant une valeur, dans plusieurs fichiers en même temps, que j'ai trouvé sur ce forum.

Ainsi dans chaque fichier, j'ai inscrit dans la page "ThisWorkbook" le code suivant :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Arrêt Clignotement
ArrêtEclairage
End Sub


Private Sub Workbook_Open()
'Activation Clignotement
Eclairage
End Sub



Et dans la page Module1:


Dim vNow As Variant

Public Sub Eclairage()
vNow = Now + TimeValue("00:00:01")
Application.OnTime vNow, "Eclairage"
ActiveWorkbook.Names.Add Name:="VarEclairage", RefersToR1C1:=1 - [VarEclairage]

End Sub

Public Sub ArrêtEclairage()
On Error Resume Next
Application.OnTime EarliestTime:=vNow, _
Procedure:="Eclairage", Schedule:=False
ActiveWorkbook.Names.Add Name:="VarEclairage", RefersToR1C1:=0
End Sub



Cependant lorsque j'ai 2 fichiers ouverts et qui ont cette macro, cela perturbe le clignotement des cellules qui devient irrégulier et anarchique, et celui-ci n'est pas visible dans le fichier sur lequel je ne travaille pas mais qui est affiché (ceci étant sans doûte dû à ActiveWorkbook.Names.Add Name:="VarEclairage", RefersToR1C1:=1 - ?)

Avez-vous la moindre idée pour laisser visible le clignotement ?

Je vous remercie pour votre attention ainsi que toute l'aide que vous pourriez m'apporter.
Bonne journée
Mppnc
 

Roland_M

XLDnaute Barbatruc
Re : problème sur des cellules clignotantes

bonjour

Réponse personnel ! mais je ne suis pas le seul à le penser !

toutes ces combines qui jouent avec OnTime,
quelques peu sympathiques et très peu utiles,
sont à éviter car toujours source de problèmes !
ça fonctionne quand il n'y que cela dans un classeur très léger !
Mais dès que le classeur devient un peu plus 'sérieux' ça se complique toujours !

à bon entendeur !


Amialement Roland
 

myDearFriend!

XLDnaute Barbatruc
Re : problème sur des cellules clignotantes

Bonsoir mppnc, Roland_M, le Forum,

bonjour

Réponse personnel ! mais je ne suis pas le seul à le penser !

toutes ces combines qui jouent avec OnTime,
quelques peu sympathiques et très peu utiles,
sont à éviter car toujours source de problèmes !
ça fonctionne quand il n'y que cela dans un classeur très léger !
Mais dès que le classeur devient un peu plus 'sérieux' ça se complique toujours !

à bon entendeur !


Amialement Roland
Peut être est-ce plus l'utilisation qu'on en fait qui est critiquable et non la méthode OnTime elle-même. La plupart de ceux qui tentent de l'utiliser n'en maitrisent peut être pas vraiment les effets, ceci peut expliquer cela...

Cela dit, pour être constructif : pour rétablir un fonctionnement correct mppnc, tu devrais pouvoir essayer d'ajouter les 2 procédures évènementielles ci-dessous dans le module de code de l'objet ThisWorkbook (dans les 2 classeurs) :
Code:
[COLOR=GRAY][B][I]A AJOUTER DANS LE MODULE DE CODE DE L'OBJET THISWORKBOOK[/I][/B][/COLOR]

[COLOR=NAVY]Private Sub[/COLOR] Workbook_Activate()
[COLOR=GREEN]'Activation Clignotement[/COLOR]
Eclairage
[COLOR=NAVY]End Sub[/COLOR]

[COLOR=NAVY]Private Sub[/COLOR] Workbook_Deactivate()
[COLOR=GREEN]'Arrêt Clignotement[/COLOR]
ArrêtEclairage
[COLOR=NAVY]End Sub[/COLOR]
L'objectif est simple : il convient d'activer ou désactiver le timer selon que le classeur visé est actif ou non.

Cordialement,
 
Dernière édition:

Statistiques des forums

Discussions
312 677
Messages
2 090 815
Membres
104 673
dernier inscrit
lautard