angelspeed
XLDnaute Junior
Bonjour,
Je saisis des commandes dans une feuille de calcul. Une commande = 1 ligne.
Quand la commande est validée je souhaite la verrouiller. Pour ce faire, je compte rajouter dans une colonne une case à cocher à l'aide de ce script très pratique (pas de moi ) :
La feuille est protégée puisque je sais que ça pose problème sinon.
Maintenant le problème :je souhaiterais attribuer une macro à chaque case à cocher pour qu'en cochant celle-ci elle verrouille la commande/une plage de cellules.
Pour être plus précis : case à cocher en L4 verrouille/déverrouille les cellules A4 à K4 (celle en L5, A5 à K5, etc ...)
J'ai trouvé ce script pour verrouiller une cellule/plage de cellule avec une checkbox avec un changement de couleur :
Le problème c'est comment intégrer ce script dans le premier et implémenter la plage de cellules à verrouiller en fonction de n° de ligne de la checkbox.
La je suis pas assez calé en VB pour voir comment faire.
Merci de votre aide.
Je saisis des commandes dans une feuille de calcul. Une commande = 1 ligne.
Quand la commande est validée je souhaite la verrouiller. Pour ce faire, je compte rajouter dans une colonne une case à cocher à l'aide de ce script très pratique (pas de moi ) :
Code:
Sub CréerCaseàcocher()
Dim Cellule As Range
For Each Cellule In Range("L4:L100")
With Cellule
.Select
ActiveSheet.CheckBoxes.Add(.Left, .Top, .Width, .Height).Select
End With
With Selection
.LinkedCell = Cellule.Offset(0, 1).Address
.Characters.Text = ""
'.Characters.Text = "Case" & Cellule.Row
End With
Next Cellule
End Sub
La feuille est protégée puisque je sais que ça pose problème sinon.
Maintenant le problème :je souhaiterais attribuer une macro à chaque case à cocher pour qu'en cochant celle-ci elle verrouille la commande/une plage de cellules.
Pour être plus précis : case à cocher en L4 verrouille/déverrouille les cellules A4 à K4 (celle en L5, A5 à K5, etc ...)
J'ai trouvé ce script pour verrouiller une cellule/plage de cellule avec une checkbox avec un changement de couleur :
Code:
Private Sub CheckBox1_Click()
If Me.CheckBox1.Value = True Then
With ActiveSheet
.Unprotect
.Range("A1").Interior.ColorIndex = 6
.Range("A1").Locked = True 'Verrouiller la cellule A1
.Protect AllowFiltering:=True 'protege la feuille
End With
Else
With ActiveSheet
.Unprotect 'Deprotege la feuille
.Range("A1").Interior.ColorIndex = 2
.Range("A1").Locked = False 'Déverrouiller la cellule A1
.Protect AllowFiltering:=True 'Verrouiller la feuille
End With
End If
End Sub
Le problème c'est comment intégrer ce script dans le premier et implémenter la plage de cellules à verrouiller en fonction de n° de ligne de la checkbox.
La je suis pas assez calé en VB pour voir comment faire.
Merci de votre aide.