Verrouiller une cellule excel

Résolu/Fermé
Signaler
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
-
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
-
Bonjour à tous,

Comment puis je interdire l’accès à une cellule excel, en fonction d'une donnée d'une autre cellule.

Explication

Je souhaiterais interdire l’écriture dans la cellule A1, si ma cellule A2 = NON

et permettre l’écriture dans ma cellule A1, si A2=OUI.

En même temps, je souhaiterais griser ma cellule A1 quand elle est bloquée.

je pensais à du VBA, mais je suis un peu limité.

Merci à tous

24 réponses

Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Bonjour,

Pas besoin de VBA pour cela,
s'il s'agit que de la cellule A1, il faut utiliser deux syntaxes
la première pour bloquer la cellule A1 si A2 contient OUI
sélectionne A1 et Validation de données, onglet Option dans Autoriser sélectionne Personnalisée la formule est
=A2="OUI"

ensuite pour griser A1 sélectionne cette cellule et Mise en forme conditionnelle
Nouvelle règle, la formule est
=A2<>"OUI"

format/Remplissage sélectionne la couleur souhaitée

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
salut Mike-31

je viens d'essayer ta formule pour bloquer A1, mais la cellule A2 reste accessible à l’écriture, malgré le oui dans A1

en revanche, pour ce qui est de griser la cellule, ok ca marche.

merci encore

titi32600
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

dans ta demande il s'agissait de bloquer A1 si A2 contenait NON tu n'as jamais parlé de bloquer A2
alors que veux tu faire exactement
bloquer A1 ou A2 ou les deux ?

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
re

désolé, faute de frappe

il est toujours question de bloquer en écriture la cellule A1 si la cellule A2=NON.

la cellule A2 reste bien sur toujours accessible

titi32600
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

et bien ma formule est bonne, il faut que tu actives ta cellule A1 et Validation de données et la formule est bien
=A2="OUI"
ou encore
=A2<>"NON"
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
oui ça y est, effectivement il est impossible de valider la cellule A1, si A2=NON.

tu vas croire que je suis pénible,

mais je souhaiterais, ne pas avoir accès à la cellule A1 si A2=NON
titi32600
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

alors la oui il faut passer par du VBA
il faut que les cellules dans lesquelles tu souhaites accéder soit déverrouillées et que ta feuille soit protégée et éventuellement avec un mot de passe si c'est le cas quel est ce mot de passe et y a t il d'autre cellules concernées ou uniquement A1
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
Re

Pas de problème pour déverrouiller les cellules qui doivent être accessibles, et protéger la feuille par le mot de passe "pwd"

dans ma feuille actuelle, il y aura plusieurs cellules de concernés

cellules G7:G47

cellules AC7:AE46

merci encore

titi32600
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

alors déverrouille au moins la cellule A2, protège ta feuille avec le mot de passe, puis clic droit sur l'onglet de ta feuille/Visualiser le code
et colle ce code dans la grande partie vide du Visual Basic

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Range("A2") = "OUI" Then
ActiveSheet.Unprotect Password:="pwd"
Range("A1").Locked = False
Else
Range("A1").Locked = True
ActiveSheet.Protect Password:="pwd"
ActiveSheet.Protect Password:="pwd", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
End If
End Sub

0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
Re

Merci Mike

ça fonctionne très bien
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

alors je passe le statut de la discussion en résolu
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
re

je reviens vers toi, pour avoir une petite modif

toute ma feuille est protégée par un mot de passe en ce moment c'est "pwd"

quand je tape dans A2 "OUI", toute ma feuille se déverrouille.

je souhaiterais, que seule la cellule A2 soit accessibles, mais que le reste de ma feuille reste verrouillées.

et que si j'inscris dans A1, "NON", la cellule A2 se verrouille à nouveau

titi32600
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

remplace le code dans le Visual par celui ci
Const Mot_pas As Variant = "pwd"

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Range("A2") = "OUI" Then
ActiveSheet.Unprotect Password:=Mot_pas
Range("A1").Locked = False
ActiveSheet.Protect Password:=Mot_pas, DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
Else
Range("A1").Locked = True
ActiveSheet.Protect Password:=Mot_pas, DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
End If
End Sub

j'ai ajouté en début de code cette ligne
Const Mot_pas As Variant = "pwd" comme cela tu n'auras qu'a changer le mot de passe uniquement dans cette ligne et le code s'adaptera.
Attention, si tu changes le mot de passe, la première fois il faudra soit reprotéger ta feuille manuellement avec le nouveau mot de passe ou au moins la déprotéger feuille avant d'intervenir sur la cellule A2, ensuite le cycle reprendra
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
merci encore mike

cela fonctionne, mais une fois sur deux, quand je tape OUI, je reverrouille ma cellule

A1, et ensuite si j'inscris NON, dans la cellule A2, j'ai toujours la possibilité d'agir sur A1
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

si tu saisis OUI en A2 la cellule en A1 est bien verrouillée

si tu ressaisis Non la cellule A1 est accessible, c'est ce que j'avais compris maintenant que veux tu faire, une fois que tu saisis OUI en A2 tu veux verrouiller A1 et A2 !
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
suis ok avec toi,

en saisissant OUI en A2, la cellule A1 est verrouillée

en saisissant NON en A2, la cellule A1 est déverrouillée,

mais si je ressaisis OUI en A2, la cellule A1, une fois sur deux reste déverrouillée
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

alors regarde comme cela
Const Mot_pas As Variant = "pwd"

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Range("A2") = "OUI" Then
ActiveSheet.Unprotect Password:=Mot_pas
Range("A1").Locked = False
ActiveSheet.Protect Password:=Mot_pas, DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
ElseIf Range("A2") = "NON" Then
ActiveSheet.Unprotect Password:=Mot_pas
Range("A1").Locked = True
ActiveSheet.Protect Password:=Mot_pas, DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
End If
End Sub
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
non je suis desolé, mais avec moi, ca ne marche pas.

comment puisje t'envoyer mon exemple de feuille excel
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

clic sur ce lien
https://www.cjoint.com/
puis sur Parcourir pour sélectionner ton fichier
sur Créer le lien
colle dans ta réponse le lien généré
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
fichier excel tres simple pour mon exemple

https://www.cjoint.com/c/FAcn5AURHl3
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

a part la mise en forme conditionnelle que tu n'avais pas mis en place, le fichier fonctionne bien
https://www.cjoint.com/c/FAcosGPHX1j
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
re

ici j'ai des probleme pour le faire fonctionner correctement

je vais chercher le pourquoi du comment

en attendant, merci encore de tes conseils

titi32600
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

Que se passe t il, à quel niveau ça ne marche pas
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
J'ai essayé plusieurs méthodes, mais sans changer le code que tu m'as donné.

J'ai mis un mot de passe différent pour protéger la feuille que celui enregistré dans le code.

la cellule A1 une fois sur deux, reste active, malgré le OUI dans A2

J'ai mis le même mot de passe pour protéger la feuille, que celui inscrit dans le code,

la cellule A1 une fois sur deux reste active malgré le OUI dans A2, quelque fois, elle reste verrouillée, que ce soit OUI ou NON

J'utilise excel 2013

titi32600
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

dans un premier temps teste mon dernier fichier que je t'ai posté post 21 sans rien changer
https://www.cjoint.com/c/FAcosGPHX1j
et dit moi si c'est pareil
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
pour le moment, quand je telecharge ton ficher, à l'ouverture, j'ai une suite ascii, mais pas de feuille excel
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

il fallait le dire tout de suite, tu dois certainement utiliser Mozilla firefox comme navigateur, mais cela n'est pas un problème
télécharge ce fichier enregistré dans un format 2003, on verra plus tard le format
https://www.cjoint.com/c/FAcucvo73hj

teste le et reviens rendre compte
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
meme probleme

la feuille est vérouillée par le mot de passe du code,
mais que je tape OUI ou NON dans A2, la cellule A1 reste inaccessible
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

alors le problème est ailleurs quelle version Excel As tu !

si tu as Excel 2007 ou supérieur et as tu l'onglet Développeur dans le Ruban Excel, il est juste après l'onglet Révision Affichage !

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
salut Mike

je suis sur excel 2013, et oui j'ai l’onglet DEVELOPPEUR
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

alors ouvre mon dernier fichier, ensuite clic sur l'onglet développeur, puis module Code puis sur sécurité des macros coche la dernière proposition Activer toutes les macros (non recommandé .......
enregistrer, ferme le fichier et ouvre le à nouveau et accepte les macros, teste le fichier et reviens rendre compte

pour la sécurité des macros je t'expliquerai plus tard pour relever la sécurité
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
J'avais déjà activé toutes les macros
j'avais meme approuvé l’accès au modèle VBA

mais toujours le meme résultat
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,
Bizarre,
sur une feuille crée un bouton activex (onglet Développeur/module Contrôles/Insérer/crée un bouton activex
et colle ce code à
Private Sub CommandButton1_Click()
If [B5].Interior.ColorIndex = xlNone Then
[B5].Interior.ColorIndex = 3
ElseIf [B5].Interior.ColorIndex = 3 Then
[B5].Interior.ColorIndex = 4
ElseIf [B5].Interior.ColorIndex = 4 Then
[B5].Interior.ColorIndex = 3
End If
End Sub

clic plusieurs fois sur le bouton et dis mois ce qui se passe à chaque clic
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
ok bouton réalisé

à chaque clic, la cellule B5, passe de vert à rouge
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

je comprends de moins en moins ton problème

dans les propriétés de ta feuille (clic droit sur l'onglet/visualiser le code) supprime tous les codes et colle celui ci
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A2]) Is Nothing Then
Call test
End If
End Sub

crée un module (dans le visual basic clic sur Insertion/Module)
dans le module colle ce code
Const Mot_pas As Variant = "pwd"

Sub test()
On Error Resume Next
If Range("A2") = "OUI" Then
ActiveSheet.Unprotect Password:=Mot_pas
Range("A1").Locked = False
ActiveSheet.Protect Password:=Mot_pas, DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
ElseIf Range("A2") = "NON" Then
ActiveSheet.Unprotect Password:=Mot_pas
Range("A1").Locked = True
ActiveSheet.Protect Password:=Mot_pas, DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
End If
End Sub


teste ta cellule si en A2 tu as OUI A1 est accessible, si tu saisis NON A1 doit être verrouillée
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
je suis désolé, mais on a le même résultat.

cellule A1 non accessible avec cellule A2 sur OUI ou sur NON

je teste plein de possibilité, mais a chaque fois meme resultat
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Re,

je n'y comprends plus rien, je teste également mon code dans tous les sens et aucun problème si OUI en A2 la cellule A1 est accessible et si NON en A2 la cellule A1 est verrouillée

télécharge mon fichier et sans rien changer teste la cellule A2
https://www.cjoint.com/c/FAdj5WeAzAj
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
Fichier téléchargé

Sans rien toucher, je teste la cellule A2 avec OUI ou NON

meme resultat, la cellule A1 reste verrouillée
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
non même résultat

j'ai même essayé avec excel 2007, et j’obtiens aussi le même résultat qu'avec 2013
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
mais, moi la cellule A2, était toujours deverrouillée, sinon, quand la feuille est en mode protection, je ne pourrais pas y avoir accès
0
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
oui c'est ce que j'avais depuis le début, cellule A2 avec la case vérrouillée, décochée.

sinon, je n'aurais pas pu changer le OUI ou le NON
0
Messages postés
17825
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 janvier 2022
4 914
Alors je sais plus quel conseil te donner
0