verouiller des cellules en fonction d'une couleur

Le
Sunburn
Bonjour,
est-il possible, pour tout un classeur, de définir la propriété
"verouillée", uniquement pour certaines cellules, de part leur couleur.
je m'explique, j'ai des cellules "jaunes clair" et "jaune pétant" pour les
cellules de saisie, et "sans couleur de fond" pour les cellules de base de
travail et les formules, "bleu clair" pour les cellules de controle, et "gris
moyen" pour les cellules d'information reprise d'un autre endroit.

Donc dans tout mon classeur, je veux que ne soit pas protéger uniquement les
cellules "jaune clair" et "jaune pétant".

est-il possible de gérer ça par VBA, où dois-je le faire onglet par onglet?

Merci.

YANN
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JPMonnier
Le #17763651
Bonjour Sunburn
pour verouiller les cells de couleur 6 ou 36
1 déja déverrouiller toutes les cellules
puis lancer cette proc
la plage concernée [a1:g15] peut être modifiée

Sub Verrouiller()
For x = 1 To Worksheets.Count
For Each n In Worksheets(x).[a1:g15]
If n.Interior.ColorIndex = 6 Or n.Interior.ColorIndex = 36 Then
n.Locked = True
End If
Next
Next
End Sub
--
Cordialement


"Sunburn" news:
Bonjour,
est-il possible, pour tout un classeur, de définir la propriété
"verouillée", uniquement pour certaines cellules, de part leur couleur.
je m'explique, j'ai des cellules "jaunes clair" et "jaune pétant" pour les
cellules de saisie, et "sans couleur de fond" pour les cellules de base de
travail et les formules, "bleu clair" pour les cellules de controle, et
"gris
moyen" pour les cellules d'information reprise d'un autre endroit.

Donc dans tout mon classeur, je veux que ne soit pas protéger uniquement
les
cellules "jaune clair" et "jaune pétant".

est-il possible de gérer ça par VBA, où dois-je le faire onglet par
onglet?

Merci.

YANN


Sunburn
Le #17764411
Ok, mais comment puis-je savoir le numéro des couleurs, car je veux que mes
cellules jaune clair et jaune pétante soit déverouiller, et toutes les autres
cellules en vérouillée.
Merci.
YANN

"JPMonnier" a écrit :

Bonjour Sunburn
pour verouiller les cells de couleur 6 ou 36
1 déja déverrouiller toutes les cellules
puis lancer cette proc
la plage concernée [a1:g15] peut être modifiée

Sub Verrouiller()
For x = 1 To Worksheets.Count
For Each n In Worksheets(x).[a1:g15]
If n.Interior.ColorIndex = 6 Or n.Interior.ColorIndex = 36 Then
n.Locked = True
End If
Next
Next
End Sub
--
Cordialement


"Sunburn" news:
> Bonjour,
> est-il possible, pour tout un classeur, de définir la propriété
> "verouillée", uniquement pour certaines cellules, de part leur couleur.
> je m'explique, j'ai des cellules "jaunes clair" et "jaune pétant" pour les
> cellules de saisie, et "sans couleur de fond" pour les cellules de base de
> travail et les formules, "bleu clair" pour les cellules de controle, et
> "gris
> moyen" pour les cellules d'information reprise d'un autre endroit.
>
> Donc dans tout mon classeur, je veux que ne soit pas protéger uniquement
> les
> cellules "jaune clair" et "jaune pétant".
>
> est-il possible de gérer ça par VBA, où dois-je le faire onglet par
> onglet?
>
> Merci.
>
> YANN




Sunburn
Le #17764401
j'ai trouvé la palette de couleur
Sub Affiche_couleurs()
For i = 1 To 56
Cells(i, 1).Interior.ColorIndex = i
Next i
End Sub

et jsui bete, je vérouille tout, et je fais "n.locked = false"

Non ???
Je le fais sur chaque page ou ça le fais pour tout le classeur ??
Merci.
Yann

"JPMonnier" a écrit :

Bonjour Sunburn
pour verouiller les cells de couleur 6 ou 36
1 déja déverrouiller toutes les cellules
puis lancer cette proc
la plage concernée [a1:g15] peut être modifiée

Sub Verrouiller()
For x = 1 To Worksheets.Count
For Each n In Worksheets(x).[a1:g15]
If n.Interior.ColorIndex = 6 Or n.Interior.ColorIndex = 36 Then
n.Locked = True
End If
Next
Next
End Sub
--
Cordialement


"Sunburn" news:
> Bonjour,
> est-il possible, pour tout un classeur, de définir la propriété
> "verouillée", uniquement pour certaines cellules, de part leur couleur.
> je m'explique, j'ai des cellules "jaunes clair" et "jaune pétant" pour les
> cellules de saisie, et "sans couleur de fond" pour les cellules de base de
> travail et les formules, "bleu clair" pour les cellules de controle, et
> "gris
> moyen" pour les cellules d'information reprise d'un autre endroit.
>
> Donc dans tout mon classeur, je veux que ne soit pas protéger uniquement
> les
> cellules "jaune clair" et "jaune pétant".
>
> est-il possible de gérer ça par VBA, où dois-je le faire onglet par
> onglet?
>
> Merci.
>
> YANN




Sunburn
Le #17764821
bon, ben, j'ai verouillé toutes mes cellules, puis cette macro :
-----
Sub ProtegerOnglets()
For x = 1 To Worksheets.Count
For Each n In Worksheets(x).[a1:z200]
If n.Interior.ColorIndex = 6 Or n.Interior.ColorIndex = 36 Then
n.Locked = False
End If
Next
Next
End Sub
-----
mais ça plante "impossible de définitr la propriété lokede de range"
Merci
YANN


"JPMonnier" a écrit :

Bonjour Sunburn
pour verouiller les cells de couleur 6 ou 36
1 déja déverrouiller toutes les cellules
puis lancer cette proc
la plage concernée [a1:g15] peut être modifiée

Sub Verrouiller()
For x = 1 To Worksheets.Count
For Each n In Worksheets(x).[a1:g15]
If n.Interior.ColorIndex = 6 Or n.Interior.ColorIndex = 36 Then
n.Locked = True
End If
Next
Next
End Sub
--
Cordialement


"Sunburn" news:
> Bonjour,
> est-il possible, pour tout un classeur, de définir la propriété
> "verouillée", uniquement pour certaines cellules, de part leur couleur.
> je m'explique, j'ai des cellules "jaunes clair" et "jaune pétant" pour les
> cellules de saisie, et "sans couleur de fond" pour les cellules de base de
> travail et les formules, "bleu clair" pour les cellules de controle, et
> "gris
> moyen" pour les cellules d'information reprise d'un autre endroit.
>
> Donc dans tout mon classeur, je veux que ne soit pas protéger uniquement
> les
> cellules "jaune clair" et "jaune pétant".
>
> est-il possible de gérer ça par VBA, où dois-je le faire onglet par
> onglet?
>
> Merci.
>
> YANN




JPMonnier
Le #17765821
Cette proc fonctionne à condition que la feuille ne soit pas verrouillé
A mon avis ta feuille est protégée modifie comme ceci
Sub ProtegerOnglets()
For x = 1 To Worksheets.Count
Sheets(x).Unprotect
For Each n In Worksheets(x).[a1:z200]
If n.Interior.ColorIndex = 6 Or n.Interior.ColorIndex = 36 Then
n.Locked = False
End If
Next
Sheets(x).Protect
Next
End Sub
--
Cordialement

"Sunburn" news:
bon, ben, j'ai verouillé toutes mes cellules, puis cette macro :
-----
Sub ProtegerOnglets()
For x = 1 To Worksheets.Count
For Each n In Worksheets(x).[a1:z200]
If n.Interior.ColorIndex = 6 Or n.Interior.ColorIndex = 36 Then
n.Locked = False
End If
Next
Next
End Sub
-----
mais ça plante "impossible de définitr la propriété lokede de range"
Merci
YANN


"JPMonnier" a écrit :

Bonjour Sunburn
pour verouiller les cells de couleur 6 ou 36
1 déja déverrouiller toutes les cellules
puis lancer cette proc
la plage concernée [a1:g15] peut être modifiée

Sub Verrouiller()
For x = 1 To Worksheets.Count
For Each n In Worksheets(x).[a1:g15]
If n.Interior.ColorIndex = 6 Or n.Interior.ColorIndex = 36 Then
n.Locked = True
End If
Next
Next
End Sub
--
Cordialement


"Sunburn" news:
> Bonjour,
> est-il possible, pour tout un classeur, de définir la propriété
> "verouillée", uniquement pour certaines cellules, de part leur couleur.
> je m'explique, j'ai des cellules "jaunes clair" et "jaune pétant" pour
> les
> cellules de saisie, et "sans couleur de fond" pour les cellules de base
> de
> travail et les formules, "bleu clair" pour les cellules de controle, et
> "gris
> moyen" pour les cellules d'information reprise d'un autre endroit.
>
> Donc dans tout mon classeur, je veux que ne soit pas protéger
> uniquement
> les
> cellules "jaune clair" et "jaune pétant".
>
> est-il possible de gérer ça par VBA, où dois-je le faire onglet par
> onglet?
>
> Merci.
>
> YANN






Sunburn
Le #17766231
non, ce n'est pas ça, il bloque à "n.Locked = False"
ben, c'est seulement parce que j'ai beaucoup de cellules, et c'est pour être
sur de rien avoir oublié de verrouiller, sinon ça fait beaucoup de boulot de
vérifier 90 onglets.
ou alors, je peux tout "déprotéger", et utiliser ta procédure du début en
mettant les couleurs autres que 6 et 36, soit 15 pour le gris, et 20 pour le
bleu clair, mais combien pour le "transparent", là où y'a rien ?
merci.
YANN

"JPMonnier" a écrit :

Cette proc fonctionne à condition que la feuille ne soit pas verrouillé
A mon avis ta feuille est protégée modifie comme ceci
Sub ProtegerOnglets()
For x = 1 To Worksheets.Count
Sheets(x).Unprotect
For Each n In Worksheets(x).[a1:z200]
If n.Interior.ColorIndex = 6 Or n.Interior.ColorIndex = 36 Then
n.Locked = False
End If
Next
Sheets(x).Protect
Next
End Sub
--
Cordialement

"Sunburn" news:
> bon, ben, j'ai verouillé toutes mes cellules, puis cette macro :
> -----
> Sub ProtegerOnglets()
> For x = 1 To Worksheets.Count
> For Each n In Worksheets(x).[a1:z200]
> If n.Interior.ColorIndex = 6 Or n.Interior.ColorIndex = 36 Then
> n.Locked = False
> End If
> Next
> Next
> End Sub
> -----
> mais ça plante "impossible de définitr la propriété lokede de range"
> Merci
> YANN
>
>
> "JPMonnier" a écrit :
>
>> Bonjour Sunburn
>> pour verouiller les cells de couleur 6 ou 36
>> 1 déja déverrouiller toutes les cellules
>> puis lancer cette proc
>> la plage concernée [a1:g15] peut être modifiée
>>
>> Sub Verrouiller()
>> For x = 1 To Worksheets.Count
>> For Each n In Worksheets(x).[a1:g15]
>> If n.Interior.ColorIndex = 6 Or n.Interior.ColorIndex = 36 Then
>> n.Locked = True
>> End If
>> Next
>> Next
>> End Sub
>> --
>> Cordialement
>>
>>
>> "Sunburn" >> news:
>> > Bonjour,
>> > est-il possible, pour tout un classeur, de définir la propriété
>> > "verouillée", uniquement pour certaines cellules, de part leur couleur.
>> > je m'explique, j'ai des cellules "jaunes clair" et "jaune pétant" pour
>> > les
>> > cellules de saisie, et "sans couleur de fond" pour les cellules de base
>> > de
>> > travail et les formules, "bleu clair" pour les cellules de controle, et
>> > "gris
>> > moyen" pour les cellules d'information reprise d'un autre endroit.
>> >
>> > Donc dans tout mon classeur, je veux que ne soit pas protéger
>> > uniquement
>> > les
>> > cellules "jaune clair" et "jaune pétant".
>> >
>> > est-il possible de gérer ça par VBA, où dois-je le faire onglet par
>> > onglet?
>> >
>> > Merci.
>> >
>> > YANN
>>
>>




JPMonnier
Le #17771711
Salut Sunburn
Si ça bloque sur une cellule, ajoute ce message
MsgBox Sheets(x).Name & " " & n.Address
avant la ligne n.Locked = False
qui te donneras ou ça bloque
et controle la cellule concernée
Si tu as Option Explicit en début de module, ajoute
Dim x as Integer
Dim n as Range
--
Cordialement



n.Locked = False
"Sunburn" news:
non, ce n'est pas ça, il bloque à "n.Locked = False"
ben, c'est seulement parce que j'ai beaucoup de cellules, et c'est pour
être
sur de rien avoir oublié de verrouiller, sinon ça fait beaucoup de boulot
de
vérifier 90 onglets.
ou alors, je peux tout "déprotéger", et utiliser ta procédure du début en
mettant les couleurs autres que 6 et 36, soit 15 pour le gris, et 20 pour
le
bleu clair, mais combien pour le "transparent", là où y'a rien ?
merci.
YANN

"JPMonnier" a écrit :

Cette proc fonctionne à condition que la feuille ne soit pas verrouillé
A mon avis ta feuille est protégée modifie comme ceci
Sub ProtegerOnglets()
For x = 1 To Worksheets.Count
Sheets(x).Unprotect
For Each n In Worksheets(x).[a1:z200]
If n.Interior.ColorIndex = 6 Or n.Interior.ColorIndex = 36 Then
n.Locked = False
End If
Next
Sheets(x).Protect
Next
End Sub
--
Cordialement

"Sunburn" news:
> bon, ben, j'ai verouillé toutes mes cellules, puis cette macro :
> -----
> Sub ProtegerOnglets()
> For x = 1 To Worksheets.Count
> For Each n In Worksheets(x).[a1:z200]
> If n.Interior.ColorIndex = 6 Or n.Interior.ColorIndex = 36 Then
> n.Locked = False
> End If
> Next
> Next
> End Sub
> -----
> mais ça plante "impossible de définitr la propriété lokede de range"
> Merci
> YANN
>
>
> "JPMonnier" a écrit :
>
>> Bonjour Sunburn
>> pour verouiller les cells de couleur 6 ou 36
>> 1 déja déverrouiller toutes les cellules
>> puis lancer cette proc
>> la plage concernée [a1:g15] peut être modifiée
>>
>> Sub Verrouiller()
>> For x = 1 To Worksheets.Count
>> For Each n In Worksheets(x).[a1:g15]
>> If n.Interior.ColorIndex = 6 Or n.Interior.ColorIndex = 36 Then
>> n.Locked = True
>> End If
>> Next
>> Next
>> End Sub
>> --
>> Cordialement
>>
>>
>> "Sunburn" >> de
>> news:
>> > Bonjour,
>> > est-il possible, pour tout un classeur, de définir la propriété
>> > "verouillée", uniquement pour certaines cellules, de part leur
>> > couleur.
>> > je m'explique, j'ai des cellules "jaunes clair" et "jaune pétant"
>> > pour
>> > les
>> > cellules de saisie, et "sans couleur de fond" pour les cellules de
>> > base
>> > de
>> > travail et les formules, "bleu clair" pour les cellules de controle,
>> > et
>> > "gris
>> > moyen" pour les cellules d'information reprise d'un autre endroit.
>> >
>> > Donc dans tout mon classeur, je veux que ne soit pas protéger
>> > uniquement
>> > les
>> > cellules "jaune clair" et "jaune pétant".
>> >
>> > est-il possible de gérer ça par VBA, où dois-je le faire onglet par
>> > onglet?
>> >
>> > Merci.
>> >
>> > YANN
>>
>>






Publicité
Poster une réponse
Anonyme