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.