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 Sub

Cela 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

Rechercher des sujets similaires à "proteger droite celle qui recoit double clic"