Verrouille cellules non vide EXCEL 2016
Résolu
supupoff
Messages postés
350
Statut
Membre
-
supupoff Messages postés 350 Statut Membre -
supupoff Messages postés 350 Statut Membre -
bonjour,
j'essayé de verrouille les cellules non vide dans feuille actif
alors que la fichier deviens très lent au fermeture lors de fermeture.
est ce que vous pouvez svp maider a rendre le verrouilage que sur une plage des cellules.
merci
La chance aide parfois, le travail toujours.
j'essayé de verrouille les cellules non vide dans feuille actif
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each Sh In ThisWorkbook.Worksheets
Sh.Unprotect 34
For Each Cel In Sh.UsedRange.Cells
Cel.Locked = False
If Cel <> "" Then Cel.Locked = True
Next Cel
Sh.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True 'à toi de voir ce que tu protèges
Sh.EnableSelection = xlUnlockedCells
Sh.Protect 34
Next Sh
End Sub
alors que la fichier deviens très lent au fermeture lors de fermeture.
est ce que vous pouvez svp maider a rendre le verrouilage que sur une plage des cellules.
merci
La chance aide parfois, le travail toujours.
1 réponse
-
Bonjour,
verrouillage que sur une plage des cellules.
Que vous connaissez ou pas
Pourquoi ce verrouillage?-
Oui plage je la nommer "ps"
ben ceci mon essai
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveSheet.Unprotect 348610
Dim C As Variant
For Each C In Range("ps")
If C.Value <> "" And C.Locked = False Then
C.Locked = True
End If
Next
ActiveSheet.Protect 348610, DrawingObjects:=True, Contents:=True, _
Scenarios:=True
End Sub
t
mais si je oter la protection et re-vider les cellules dejas remplis reste verouille- Pourquoi ce verrouillage? bon je veux que dans la plage "ps" si une cellule et remplis on peut pas le modifier apres la fermeture de fichier que si on ote la protection. et sa marche mais
mon probleme maintenant ce que si je oter la protection et vider quelque cellules et jenregistre et je fermer la fichier
la prochaine ouverture les cellules re-vider reste verouille
Merci
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveSheet.Unprotect 348610
Dim C As Variant
For Each C In Range("ps")
If C.Value <> "" And C.Locked = False Then
C.Locked = True
End If
Next
ActiveSheet.Protect 348610, DrawingObjects:=True, Contents:=True, _
Scenarios:=True
End Sub - Re,
Toujours long ou pas?
Cette Plage "ps" a combien de cellules?
Verrouillage de cellules non vides d'une plage
Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveSheet.Unprotect 348610 Range("ps").Locked = True Range("ps").SpecialCells(xlCellTypeBlanks).Locked = False ActiveSheet.Protect 348610, DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub
-