Protéger les cellules a droite de celle qui reçoit le double clic
Bonsoir le Forum
Pouvez vous m'aider a terminer cette programmation
J'ai commencé cette programmation ci dessous et je souhaiterai la compléter de manière a ce que les 5 cellules a droite de celle qui reçoit el double clic (c'est a dire une cellule de la colonne A) soient protégées verrouillées.
Par avance merci de votre aide
____________________________________________________________________________
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
R = MsgBox(" Vous validez que le virement est fait ? ", vbYesNo + vbQuestion, "Confirmation")
If R = vbYes Then
If Not Intersect(Target, Columns(1)) Is Nothing Then
If IsEmpty(ActiveCell.Value) Then
ActiveCell.Value = "Fait"
ElseIf ActiveCell.Value = "Fait" Then
ActiveCell.Value = ""
End If
End If
End If
Cancel = True
End Sub
____________________________________________________________________________
exemple je clic sur la cellule A2 et protection? verrouillage des cellules B2 C2 D2 E2 F2
Bonjour,
Je ne suis pas certain que ça marche si la feuille est déjà protégée. En tout cas, il s'agit de passer la propriété .locked sur true. Mais, il faut savoir que true est la valeur par défaut de cette propriété donc il est possible qu'au moment de la protection de la feuille, ces cellules soient verrouillées sans cette ligne.
Code édité :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Columns(1)) Is Nothing Then
Me.Unprotect
Cancel = True
R = MsgBox(" Vous validez que le virement est fait ? ", vbYesNo + vbQuestion, "Confirmation")
If R = vbYes Then
Application.EnableEvents = False 'désactive évènements au cas où il y aurait un autre évènement change sur cette zone
If Target.Value = "" Then
Target.Value = "Fait"
ElseIf Target.Value = "Fait" Then
Target.Value = ""
End If
Application.EnableEvents = True
Target.Offset(0, 1).Resize(1, 5).Locked = True 'verrouille les 5 cellule de la cellule à droite (décalée de 1 colonne) de la target
End If
Me.Protect
End If
End SubCela suggère d'avoir une colonne A déverrouillée pour pouvoir déclencher l'évènement double clic.
Cdlt,
Bonjour 3GB,
Parfait cela répond a mon souhait
Merci beaucoup
Excellente journée