VBA verrouillage cellule après saisie ne marche pas

arrazki

XLDnaute Junior
Bonjour,


J'ai cette macro qui ne fonctionne pas. Elle est censsé me permmetre de verouillé la cellule une fois ke j'ai fini de saisire dedans. Le PB de cette marco c'est quelle verrouille toute la feuille et non que la cellule.

Ci-joint mon fichier pouvez vous m'aider?

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([Z2:z1300], Target) Is Nothing And Target.Count = 1 Then
ActiveSheet.Unprotect Password:=""
Target.Locked = True
Target.Interior.ColorIndex = 44
ActiveSheet.Protect Password:=""
End If
End Sub
 

Pièces jointes

  • fichier étude.xls
    814 KB · Affichages: 39

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA verrouillage cellule après saisie ne marche pas

Bonjour Arrazki, bonjour le forum,

Peut-être comme ça :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect Password:=""
Columns(26).Cells.Locked = False 'dévérouille toutes les cellules de la colonne Z
Columns(26).Cells.SpecialCells(xlCellTypeConstants).Locked = True 'vérouille toutes les cellules éditées de la colonne Z
If Not Intersect([Z2:z1300], Target) Is Nothing And Target.Count = 1 Then
    Target.Locked = True
    Target.Interior.ColorIndex = 44
End If
ActiveSheet.Protect Password:=""
End Sub
 

laetitia90

XLDnaute Barbatruc
Re : VBA verrouillage cellule après saisie ne marche pas

bonjour arrazki :)
l' ami Robert:):):):):):):):) :):):):):):):):):):)

une autre facon de voir le pb... au depart pas de Password

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Not Intersect([Z2:z1300], Target) Is Nothing And Target.Count > 1 Then Target.Offset(0, 1).Select
 If Not Intersect([Z2:z1300], Target) Is Nothing And Target.Count = 1 Then _
 If Target <> "" Then Target.Offset(0, 1).Select
End Sub

cela peut être plus simple a adapter
 

Discussions similaires

Statistiques des forums

Discussions
312 797
Messages
2 092 208
Membres
105 283
dernier inscrit
mcb33610