OVH Cloud OVH Cloud

Protection de cellule

6 réponses
Avatar
christophe
Bonjour,
je voudrais protéger une cellule si une autre comporte un nombre y compris
le zéro

ma cellule de saisie est en D4, et je voudrais que la cellule L15 soit
bloquée en écriture si D4 est remplis.
ma feuille est protégée.

le nom de la feuille ===> saisie
D4 ===> que des nombres
L15 ===> que des nombres
le mdp de la feuille ===> 1234abcd

merci de votre aide.

6 réponses

Avatar
AV
Dans le module de la feuille :

Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$D$4" Then Exit Sub
If IsNumeric(zz) Then
ActiveSheet.Unprotect ("1234abcd")
[L5].Locked = False
ActiveSheet.Protect ("1234abcd")
End If
End Sub

AV
Avatar
Pierre CFI [mvp]
bonjour av
j'aurais mis un coup de else non ?
Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$D$4" Then Exit Sub
ActiveSheet.Unprotect ("1234abcd")

If IsNumeric(zz) Then
[L5].Locked = False
else
[L5].Locked = true
End If
ActiveSheet.Protect ("1234abcd")

End Sub


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"AV" a écrit dans le message de news:eR%
Dans le module de la feuille :

Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$D$4" Then Exit Sub
If IsNumeric(zz) Then
ActiveSheet.Unprotect ("1234abcd")
[L5].Locked = False
ActiveSheet.Protect ("1234abcd")
End If
End Sub

AV




Avatar
AV
j'aurais mis un coup de else non ?


Si on veux....
Ca dépend du format de départ

AV

Avatar
christophe
bonsoir et merci de votre aide

les deux formules proposé ne fonctionne pas elle bloque sur [L5].Locked =
False

pourtant D4 et L5 ne sont pas protéger a l'origine, le reste oui

mais dans le module de la feuille j'ais deja une autre formule
------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("D4").Address Then
If IsNumeric(Range("D4")) = True Then
Call copy_code
End If
End If
If [K34] = "Saisie ok" Then
Call saisie
Else
If [K34] = "Saisie incomplète" Then
End If
End If
End Sub
---------------------------------------------------------
Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$D$4" Then Exit Sub
If IsNumeric(zz) Then
ActiveSheet.Unprotect ("1234abcd")
[L5].Locked = False
ActiveSheet.Protect ("1234abcd")
End If
End Sub
--------------------------------------------------------
Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$D$4" Then Exit Sub
ActiveSheet.Unprotect ("1234abcd")

If IsNumeric(zz) Then
[L5].Locked = False
Else
[L5].Locked = True
End If
ActiveSheet.Protect ("1234abcd")

End Sub
Avatar
AV
les deux formules proposé ne fonctionne pas elle bloque sur [L5].Locked > False


Ha ces micro-climats...!

AV

Avatar
christophe
bonsoir
comprend pas ??