unlocked cells-protection des cellules

D

dakama

Guest
bonsoir,

j ai un petit souci, j ai des feuilles contenant des formules que je souhaiterais proteger en ne permettant pas de saisir les cellules les contenant , j essaye vainement de les bloquer par vba, soit feuille par feuille avec -enable selection xl unlockedcells- ou bien par this workbook (ThisWorkbook.Sheets(1).EnableSelection = xlUnlockedCells)mais grrrrrr ça ne fonctionne pas....

auriez vous une toute petite idée??????

merci d avance
 
E

Eric C

Guest
Bonsoir le forum
Bonsoir Dakama

Pourquoi ne pas "passer" via le verrouillage des cellules et le masquage des formules d'Excel ?
Ex : A1 & B1 contiennent les valeurs de l'addition faite en C1
Sélection des cells A1 & B1, click droit Format de cellule / Protection / Décoches Verrouillée / Ok - Cellule C1 / Click droit / Protection / Tu coches Verrouillée ainsi que Masquée / Ok - Menu / Outils / Protection/ Protéger la feuille / Password éventuellement.
Ainsi tu vpeux intervenir sur tes cellules A1 & B1 mais en aucun cas sur la Cell C1 - De même personne ne peut prendre connaissance de la formule avancée en C1.

@ + Eric C
 
D

dakama

Guest
bonsoir eric,


j y avais effectivement pensé mais j ai des macros qui sont utilisées afin de modifier la feuille sur des cellules déverouillées mais qui, malheureusement, peuvent intervenir sur ces cellules .
je n'ai comme seule solution que de passer par ce que je décrivais plus haut (unlockedcells), mais que je n'arrive visiblement pas à mettre en forme après de gros efforts intellectuels (je précise que je débute à peine en vba et qu en général j'adapte du code trouvé sur ce forum ou dans des tutoriaux...) ...

merci quand même du conseil

a plus tard
 
N

nicolas 65

Guest
Bonjour,

If Not Intersect(Target, Range("P42:p80")) Is Nothing Then Range("C" & ActiveCell.Row).Select

Dès que tu sélectionne une cellulle entre P42 et P80 tu est automatiquement rejeté en colonne C.

Est-ce que c'est ce que tu souhaites ?
 
D

dakama

Guest
bonsoir nicolas,

cela aurait pu être une solution à mon problème mais ce serait trop compliqué à installer, j 'ai 29 feuilles contenant des formules et elles ne sont pas identiques, ce serait un travail de titan...
je recherche vraiment une solution à l'aide de vba en protégeant mes cellules avec unlockedcells j 'ai déjà eu plusieurs codes mais aucun ne fonctionne ni ne reste en mémoire à la fermeture ou à la sauvegarde du programme.....

hum compliqué tout ça, je commence à désespérer mais merci en tout cas de t'être penché sur mon problème....

à plus tard
 
P

patrick

Guest
Bonsoir Dakoma
Je te coneille de proteger tes feuilles par Excel (Outils protection proteger la feuille)
Puis de mettre ds ton code la ou ca va bien

activesheet.unprotect

sans oublier

activesheet.protect
avant le end sub

J'espere que ca fonctionnera
 
M

myDearFriend

Guest
Bonsoir dakama, Eric_C, Nicolas 65, le Forum.


dakama, peut-être n'ai-je rien compris à la discussion (et si c'est le cas, je m'en excuse par avance), mais j'ai cru comprendre que tu souhaitais bloquer tes cellules avec Sheets(1).EnableSelection = xlUnlockedCells sans pour autant avoir recours à la protection de la feuille... si c'est effectivement le cas, je t'informe que ça ne peut marcher. La propriété EnableSelection ne prend effet que si la feuille est protégée et n'a aucun effet dans le cas contraire.

Par ailleurs, il est tout à fait possible de verrouiller des cellules pour empêcher toute modification de l'utilisateur tout en permettant aux macros VBA d'agir sur ces dernières, grâce au paramètre UserInterfaceOnly = True de la méthode Protect.

En résumé, si j'ai bien compris ton problème, je pense que le code ci-dessous placé dans l'évènement Workbook_Open() de l'objet ThisWorkbook, devrait répondre à ta question :

With Worksheets(1)
   .EnableSelection = xlUnlockedCells
   .Protect Password:="MotDePasse", UserInterfaceOnly:=True
End With


Cordialement.

Didier_mDF
myDearFriend-3.gif
 
D

dakama

Guest
bonsoir patrick, mydearfriend,

eh bien c'est là qu'est le piège, je veux protéger mes cellules mais également protéger ma feuille par mot de passe mais si je ne passe pas par "unlocked cells" mes macros peuvent agir sur les cellules protégées(elles déprotègent la feuille puis la reprotège), donc les personnes travaillant sur mon fichier peuvent alors effacer les formules contenues dans ces cellules (j ai une macro qui sert à annuler et je ne peux l'enlever...).
la seule solution pour moi est donc de faire ce que j ai dit plus haut, mais je n y parviens pas, quelqu'un pourrait il me donner la procédure exacte à appliquer??? (de la façon la plus détaillée possible siouplait, visiblement j ai un peu de mal à m'en sortir).....

merci d'avance

à plus tard
 
D

dakama

Guest
rebonsoir

je voulais juste rajouter que si je parviens à faire cette programmation, alors on ne pourra plus cliquer sur les cellules protégées donc on ne pourra plus activer la macro.... et hop, on ne pourra plus effacer mes formules....

désolée d'insister j'espère que vous comprenez mon problème....vous suivez ma démarche????peut être y a t il plus simple???? malheureusement le peu de connaissances que j'ai en vba me mènent automatiquement à cette méthode....

merci encore de vous être penchés sur mon post

à plus tard
 
M

myDearFriend

Guest
re dakama,

Pour ma part, tant que je ne saurais pas ce que font exactement tes macros et comment elles se déclenchent, j'aurai toujours du mal à suivre ta démarche... peut-être qu'un fichier joint pourrait éclairer un peu le sujet... (fichier zippé de 50 Ko maxi).

Cordialement.

Didier_mDF
myDearFriend-3.gif
 

Discussions similaires

Réponses
7
Affichages
720

Statistiques des forums

Discussions
314 485
Messages
2 110 101
Membres
110 663
dernier inscrit
ToussaintBug