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

Proteger des cellules.

16 réponses
Avatar
Jean Bidule
Bonjour le forum,

je cherche un moyer (par macros) de protéger toutes les cellules qui ont un
fonds jaune (colorindex=36) dans toutes les feuilles du fichiers.

Y-aurait-il moyen ?

Merci de votre attention.
Jean

6 réponses

1 2
Avatar
habitrouge82
bonjour et merci pour votre réponse, mais hélas cela ne fonctionne pas
quand je copie le code ci dessous dans mon dossier personnel.
d'où cela peut il venir ?
j'ai remarqué que dans votre exemple qui lui fonctionne tres tres bien
l'entete du module est différent du mien. est ce que cela peut en etre
la cause ?
merci de votre aide
habitrouge





On 10 juil, 07:00, JB wrote:
Bonjour,

Le code du brun n'est pas 30 mais 9:

http://cjoint.com/?hkhaLDuEDY

Sub protège()
For s = 1 To Sheets.Count
Sheets(s).Unprotect
Sheets(s).Cells.Locked = False
For Each c In Sheets(s).[A1:Z100]
If Not c.MergeCells Then
c.Locked = (c.Interior.ColorIndex = 9)
End If
Next c
Sheets(s).Protect
Next s
End Sub

JB


Avatar
JB
J'ai supposé que la couleur était en J2:

http://cjoint.com/?hkkUDhuoOm

Sub protège()
CouleurTémoin = Sheets(1).[J2].Interior.ColorIndex ' couleur témoin
For s = 1 To Sheets.Count
Sheets(s).Unprotect
Sheets(s).Cells.Locked = False
For Each c In Sheets(s).[A1:Z100]
If Not c.MergeCells Then
c.Locked = (c.Interior.ColorIndex = CouleurTémoin)
End If
Next c
Sheets(s).Protect
Next s
End Sub

JB


On 10 juil, 10:34, wrote:
bonjour et merci pour votre réponse, mais hélas cela ne fonctionne pas
quand je copie le code ci dessous dans mon dossier personnel.
d'où cela peut il venir ?
j'ai remarqué que dans votre exemple qui lui fonctionne tres tres bien
l'entete du module est différent du mien. est ce que cela peut en etre
la cause ?
merci de votre aide
habitrouge

On 10 juil, 07:00, JB wrote:



Bonjour,

Le code du brun n'est pas 30 mais 9:

http://cjoint.com/?hkhaLDuEDY

Sub protège()
For s = 1 To Sheets.Count
Sheets(s).Unprotect
Sheets(s).Cells.Locked = False
For Each c In Sheets(s).[A1:Z100]
If Not c.MergeCells Then
c.Locked = (c.Interior.ColorIndex = 9)
End If
Next c
Sheets(s).Protect
Next s
End Sub

JB- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
habitrouge82
vraiment désolé mais encore une fois j'ai copié effacer recopier le
dernier code que vous m'avez envoyé cela ne veut toujours pas
fonctionner sur mon document. ?
lorsqu'on ouvre un fichier il est demandé si on veut activer ou non
les macros, doit on suivre une procédure particulière ?
Je me permets une proposition me laisser votre email pour que je
puisse vous envoyer une copie complete de mon original car je ne vois
vraiment pas d'où provient cette impossibilité à fonctionner
merci encore pour votre patiente et désolé de mes incompétences
cordialement
habitrouge


On 10 juil, 10:46, JB wrote:
J'ai supposé que la couleur était en J2:

http://cjoint.com/?hkkUDhuoOm

Sub protège()
CouleurTémoin = Sheets(1).[J2].Interior.ColorIndex ' couleur tém oin
For s = 1 To Sheets.Count
Sheets(s).Unprotect
Sheets(s).Cells.Locked = False
For Each c In Sheets(s).[A1:Z100]
If Not c.MergeCells Then
c.Locked = (c.Interior.ColorIndex = CouleurTémoin)
End If
Next c
Sheets(s).Protect
Next s
End Sub

JB


Avatar
JB
Bonsoir,

Il faut répondre Oui à 'Voulez vous activer les macros?'
Mon email

JB
http://boisgontierjacques.free.fr/

On 10 juil, 21:13, wrote:
vraiment désolé mais encore une fois j'ai copié effacer recopier le
dernier code que vous m'avez envoyé cela ne veut toujours pas
fonctionner sur mon document. ?
lorsqu'on ouvre un fichier il est demandé si on veut activer ou non
les macros, doit on suivre une procédure particulière ?
Je me permets une proposition me laisser votre email pour que je
puisse vous envoyer une copie complete de mon original car je ne vois
vraiment pas d'où provient cette impossibilité à fonctionner
merci encore pour votre patiente et désolé de mes incompétences
cordialement
habitrouge

On 10 juil, 10:46, JB wrote:



J'ai supposé que la couleur était en J2:

http://cjoint.com/?hkkUDhuoOm

Sub protège()
CouleurTémoin = Sheets(1).[J2].Interior.ColorIndex ' couleur t émoin
For s = 1 To Sheets.Count
Sheets(s).Unprotect
Sheets(s).Cells.Locked = False
For Each c In Sheets(s).[A1:Z100]
If Not c.MergeCells Then
c.Locked = (c.Interior.ColorIndex = CouleurTémoin)
End If
Next c
Sheets(s).Protect
Next s
End Sub

JB- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
AndréBdR
Dès que je l'ai eu repérée et comprise, la septième ligne de ta macro:
c.Locked = (c.Interior.ColorIndex = CouleurTémoin)
m'a vraiment plu, plu, plu.
Je voulais tout simplement le dire.


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

J'ai supposé que la couleur était en J2:

http://cjoint.com/?hkkUDhuoOm

Sub protège()
CouleurTémoin = Sheets(1).[J2].Interior.ColorIndex ' couleur témoin
For s = 1 To Sheets.Count
Sheets(s).Unprotect
Sheets(s).Cells.Locked = False
For Each c In Sheets(s).[A1:Z100]
If Not c.MergeCells Then
c.Locked = (c.Interior.ColorIndex = CouleurTémoin)
End If
Next c
Sheets(s).Protect
Next s
End Sub

JB


On 10 juil, 10:34, wrote:
bonjour et merci pour votre réponse, mais hélas cela ne fonctionne pas
quand je copie le code ci dessous dans mon dossier personnel.
d'où cela peut il venir ?
j'ai remarqué que dans votre exemple qui lui fonctionne tres tres bien
l'entete du module est différent du mien. est ce que cela peut en etre
la cause ?
merci de votre aide
habitrouge

On 10 juil, 07:00, JB wrote:



Bonjour,

Le code du brun n'est pas 30 mais 9:

http://cjoint.com/?hkhaLDuEDY

Sub protège()
For s = 1 To Sheets.Count
Sheets(s).Unprotect
Sheets(s).Cells.Locked = False
For Each c In Sheets(s).[A1:Z100]
If Not c.MergeCells Then
c.Locked = (c.Interior.ColorIndex = 9)
End If
Next c
Sheets(s).Protect
Next s
End Sub

JB- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
habitrouge82
retenu familialement je n'ai pu me consacré au probleme exposé :
j'ai donc recopier la formule ci-dessous, mais hélas cela ne
fonctionne toujours pas
et je ne vois pas d'ou cela peut venir
vraiment impermeable a la vba désolé
cordialement
stéphane
PS : peut etre pourriez vous me renvoyer, par email, le fichier
modifier que je vous ai fait parvenir


On 12 juil, 18:21, "AndréBdR" wrote:
Dès que je l'ai eu repérée et comprise, la septième ligne de ta m acro:
c.Locked = (c.Interior.ColorIndex = CouleurTémoin)
m'a vraiment plu, plu, plu.
Je voulais tout simplement le dire.

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

J'ai supposé que la couleur était en J2:

http://cjoint.com/?hkkUDhuoOm

Sub protège()
CouleurTémoin = Sheets(1).[J2].Interior.ColorIndex ' couleur tém oin
For s = 1 To Sheets.Count
Sheets(s).Unprotect
Sheets(s).Cells.Locked = False
For Each c In Sheets(s).[A1:Z100]
If Not c.MergeCells Then
c.Locked = (c.Interior.ColorIndex = CouleurTémoin)
End If
Next c
Sheets(s).Protect
Next s
End Sub



1 2