Cellule clignotante

bonjour

j'ai copier ce code dans une feuille de calcul afin de faire clignoter les cellules AU12:AU111 mais lorsque je protège ma feuille avec format de cellule, protection avec ou sans mot de passe, j'ai un code 1004 qui apparait et la ligne c.Interior.ColorIndex = 0

s'affiche en jaune. qu'en pensez vous ? merci à l'avance.

le code du module 2 de ma feuille est :

Dim Durée As Date

Public Sub CellulesClignotent()

Dim c As Range

For Each c In Range("AU12:AU111").Cells 'Zone du clignotement

If c.Interior.ColorIndex = xlNone Then

If c.Value <> "" And c.Value = 1 Then

c.Interior.ColorIndex = 3

Else

c.Interior.ColorIndex = 0

End If

Else

c.Interior.ColorIndex = 0

End If

Next c

Durée = Now() + TimeValue("00:00:01") 'le temps du clignotement

Application.OnTime Durée, "CellulesClignotent"

End Sub

Sub ArretClignotement()

On Error Resume Next

Application.OnTime Durée, "CellulesClignotent", , False

Range("AU12:AU111").Interior.ColorIndex = xlNone

End Sub

Hello,

Il faut que tu deprotege ta feuille à chaque fois que tu fais clignoter, chez moi ça marche.

Public Sub CellulesClignotent()
Dim c As Range
For Each c In Range("A1:B11").Cells 'Zone du clignotement a changer
ActiveSheet.Unprotect
If c.Interior.ColorIndex = xlNone Then
If c.Value <> "" And c.Value = 1 Then
c.Interior.ColorIndex = 3
Else
c.Interior.ColorIndex = 0
End If
Else
c.Interior.ColorIndex = 0
End If
Next c
Durée = Now() + TimeValue("00:00:01") 'le temps du clignotement
Application.OnTime Durée, "CellulesClignotent"
ActiveSheet.Protect
End Sub

Hello

j'ai intégré dans mon code tes lignes : ActiveSheet.Unprotect et ActiveSheet.Protect (comme dans ton code)

maintenant pour déprotéger la feuille je dois enlever la ligne : ActiveSheet.Protect sinon impossible de déprotéger.

par contre bonne nouvelle je n'ai plus de message d'erreur.

mon nouveau code avec tes lignes :

Dim Durée As Date

Public Sub CellulesClignotent()

Dim c As Range

For Each c In Range("AU12:AU111").Cells 'Zone du clignotement a changer

ActiveSheet.Unprotect

If c.Interior.ColorIndex = xlNone Then

If c.Value <> "" And c.Value = 1 Then

c.Interior.ColorIndex = 3

Else

c.Interior.ColorIndex = 0

End If

Else

c.Interior.ColorIndex = 0

End If

Next c

Durée = Now() + TimeValue("00:00:01") 'le temps du clignotement

Application.OnTime Durée, "CellulesClignotent"

ActiveSheet.Protect

End Sub

Sub ArretClignotement()

On Error Resume Next

Application.OnTime Durée, "CellulesClignotent", , False

Range("AU12:AU111").Interior.ColorIndex = xlNone

End Sub

et je te remercie pour ta solution.

Hello,

Si tu veux ajouter un mot de passe

ActiveSheet.Protect ("test") 
ActiveSheet.Unprotect ("test") 

Hello

La feuille se verrouille bien avec ou sans le mot de passe, mais quand je veux ôter la protection avec le mot de passe ou sans le mot de passe, la protection reste active et je dois enlever la ligne ActiveSheet.Unprotect dans le module pour libérer la feuille. En faite toutes les personnes qui vont se servir du classeur pourront accéder au code du module VBA qui reste accessible (malgré la protection de la feuille) et retirer la ligne pour débloquer le classeur ! je ne dois pas tout faire convenablement ou il manque des éléments dans le code.

Merci de l'info concernant la possibilité du mot de passe.

Yes je pense comprendre ce que tu veux,

Alors évite que les utilisateurs rentrent dans ton code tu vas avoir des surprises sinon lol

Tu peux appeler les macros dans ce petit test. Cela devrait solutionner ton probléme

Sub Test1()
If ActiveSheet.ProtectContents = True Then
Call 'Macro avec les lignes de protection
Else
Call 'Macro sans les lignes de protection
End If
End Sub

bonjour

je n'ai pas pu te répondre avant ce soir j'étais occupé à l'extérieur. le code que tu m'as proposé je le met à quel endroit ?

merci

Hello lowing,

Regarde j'ai fait un fichier avec mise en situation du code . Après tu adaptes à ta version.

Bonne journée.

54lowingv1.xlsm (17.66 Ko)

Hello

Merci je vais regarder

hello

Effectivement cela marche pour toi. chez moi aussi le clignotement fonctionne mais quand je veux protéger la feuille en verrouillant certaines cellules et pas d'autres par l'onglet : format des cellules , protection , verrouiller masquer.... tout se dégrade et j'ai un message d'erreur 1004. le but final est de protéger la feuille de calcul ainsi que le code VBA afin que les utilisateurs ne puissent rien modifier. regarde STP tous les codes qui sont dans mon tableau.

a +

feuille de calcul avec le message d erreur module 1 thisworkbook tableur releve des vols copie d e cran code vba feuille 1

Sinon si tu peux joindre ton fichier sans valeur ça permet de voir en réel ce qui se passe.

Hello

je te joins une version allégée de la feuille de calcul avec le code

A+

19lowing.xlsm (483.35 Ko)

Salut,

Merci pour le fichier, j'aurais pas trop le temps de regarder cette semaine, t'inquiète pas si je réponds pas

En revanche je fais remonter ton poste au cas où un autre membre va pouvoir te répondre.

A+

Rechercher des sujets similaires à "clignotante"