Aide écriture VBA verrouillage cellules en fonctions d'une couleur

Bonjour à tous,

Je me permets de vous contacter suite à un blocage sur une VBA !! Je début sur ce sujet, et là je rame un peu

J'essaie d'écrire pour VBA pour verrouiller les cellules d'un classeur, sauf certaines cellules que j'ai mis en couleur. Les collègues sauront donc quelles cellules seront modifiables, et ils ne pourront pas toucher les autres.

Mais ma VBA ne fonctionne pas Je pense que c'est le codage des cellules coloriés qui bug, car sinon tout marche. Tout le fichier est verrouillé à l'activation de la VBA !

Voici mon codage :

Sub ProtegeFormules()
For Each S In ActiveWorkbook.Sheets
S.Cells.Locked = True
' verrouillage des colonnes
On Error Resume Next
If S.Cells.Interior.ColorIndex = RGB(146, 208, 80) Or S.Cells.Interior.ColorIndex = RGB(0, 176, 240) Then S.Cells.Locked = False
On Error GoTo 0
Next S
End Sub

Merci d'avance pour votre aide.

Bonne soirée,

Salut Jujudu,

Première chose à savoir quand tu demandes de l'aide : joindre un fichier! Très difficile pour nous de travailler dans le brouillard

Première remarque sur ton code avant de fouiller.

Sauf erreur, COLORINDEX n'accepte pas RGB(). Tu dois utiliser simplement COLOR.

A+

Re,

essaye ceci..

Private Sub Workbook_Open()
'
Dim rCel As Range
'
Application.ScreenUpdating = False
'
For x = 1 To Sheets.Count
    With Sheets(x)
        .Unprotect
        .Cells.Locked = True
        For Each rCel In .UsedRange
            If rCel.Interior.Color = RGB(146, 208, 80) Or rCel.Interior.Color = RGB(0, 176, 240) Then rCel.Locked = False
        Next
        .Protect
    End With
Next
'
Application.ScreenUpdating = True
'
End Sub

A+

bonjour Jujudu26, salut Curulis57,

Je crains que votre fichier sera assez lent quand le nombre de cellules est assez grand et on a aussi le problème des couleurs par MFC.

Donc c'est peut-être mieux d'envoyer votre fichier anonymisé

Bonjour Curulis57, Bonjour BsAlv,

Merci à vous deux pour vos retours

Curulis57, ton code m'a permis de débuger ma VBA ! C'est trop cool...

Cela faisait un moment que je me battais avec ce codage.

Je ne connaissais pas la différence entre Interior.Color et Interior.ColorIndex ! je pouvais toujours essayer de m'acharner

Encore merci et bonne soirée,

Rechercher des sujets similaires à "aide ecriture vba verrouillage fonctions couleur"