[excel] Protection feuille et classeur

Résolu/Fermé
mimic - 16 août 2007 à 15:20
 fremarx - 21 mars 2012 à 15:50
Bonjour,

Je souhaite proteger mon classeur excel ainsi que les feuilles qu'il contient. Mais je rencontre des petites difficultés.

L'application que j'ai développée avec excel, contient des menus déroulants, et des boutons et des graphiques qui évoluent en fonction de reponses qu'un utilisateur lambda donnera ( qcm ). Si je ne touche a rien au niveau de la protection de base ( tout est protegé ) et que je demande a protéger ma feuille avec les trois options cochées, alors l'utilisateur ne peut que regarder sans interagir avec l'outil. Si je déprotège certaines cellules, par exemple les cellules d'un tableau ( pas forcement visible ) mais qui sera necessaire a la conceptiondu graphe dynamique, l'utilisateur pourrait y rentrer des info a la main; si je ne protege pas les objets ( mes boutons en l'occurence ) l'utilisateur peut cliquer dessus, mais peut aussi les supprimer.

Est ce que je m'y prends mal ou le seul moyen de proteger mon outil tout en laissant un droit d'interaction consiste en du "bidouillage"??

et comment empecher un utilisateur de scroller?

merci de vos reponses
A voir également:

7 réponses

0seb0 Messages postés 37 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 6 mars 2008 16
16 août 2007 à 15:30
Je m'avance peut-être un peu mais je pense qu'il doit y avoir une propriété de protection sur chaque objet, comme sur les cellules. Alors tu peux l'activer ou non. Tu désactives donc la protection des objets que peut modifier l'utilisateur puis tu vérouilles ton classeur. Tout sera bloqué SAUF... ce que tu auras explicitement dévérouillé.


Si c'est pour des macros...
Tu dévérouilles tes objets (ici une cellule, à adapter donc...) :
Range("K17").Select
Selection.Locked = False
Selection.FormulaHidden = False

Ca, ca protège ta feuille :
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

Si tu veux la déprotéger :
ActiveSheet.Unprotect


Amuse-toi bien ! :-)
5
ActiveSheet.Protect pour une feuille...ok

Et pour protéger toutes les feuilles...une idée ? Car quand j'essaye avec ActiveWorkbook.Protect, j'ai un souci de macro...

Un grand merci.
0
m@rina Messages postés 20033 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 avril 2024 11 269 > Le Keiser
18 sept. 2008 à 00:17
Bonjour,

Protéger une feuille et protéger le classeur, ce n'est pas la même protection.

Si tu veux protéger toutes les feuilles, il faut faire une macro qui boucle sur toutes les feuilles :

Sub protéger_feuilles()
Dim f As Worksheet
For Each f In Sheets
f.Protect
Next f

End Sub
0
mibri > m@rina Messages postés 20033 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 avril 2024
26 nov. 2009 à 23:18
bonjour
depuis le temps que je cherche à protéger toutes mes feuilles, j'ai ici trouvé comment le faire. Merci
Pouvez vous m'indiquer quelle est la formule inverse pour déprotéger toutes les feuilles...
Par avance je vous remercie
michel
0
mibri127 Messages postés 2 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 27 novembre 2009 > m@rina Messages postés 20033 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 avril 2024
26 nov. 2009 à 23:22
bonjour,
J'ai enfin trouvé comment protéger l'ensemble de mes feuilles xl simultanément, pouvez vous me communiquer la formule inverse pour la déprotection.
Par avance je vous en remercie
michel
0
m@rina Messages postés 20033 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 avril 2024 11 269 > mibri127 Messages postés 2 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 27 novembre 2009
27 nov. 2009 à 11:00
Bonjour,

C'est la même chose : tu mets simplement UnProtect à la place de Protect.

m@rina
0
m@rina Messages postés 20033 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 avril 2024 11 269
17 août 2007 à 12:57
Bonjour mimic,

Une petite précision qui a son importance : la fonction "Masquée" (de l'onglet Format, Protection) sert à masquer les formules dans la barre de formule... C'est tout !

m@rina
3
Furtif Messages postés 9887 Date d'inscription lundi 25 avril 2005 Statut Contributeur Dernière intervention 8 mars 2010 927
16 août 2007 à 15:28
Salut

En complément de "Outils / Protection", tu peux "autoriser des utilisateurs à modifier des plages"
Tu as également accés au niveau des cellules à "Vérouillé" et "Masqué"
Tu peux également "Masquer des colonnes ou des lignes"

Bref, pas mal de possibilités, complétées par "Données / Validation" qui permet de définir ou de limiter le type d'entrée autorisée.
0
merci pour les bouts de code vba ca peut me servir je pense.
Sinon comment fonctionne le masquage? avant de poster plus haut, j'avais testé masquer le truc, ainsi que le déverouillage de cellule a la main, mais pour le masquage je ne voyais pas de difference.

sinon pour mon histoire d'objet a vérouiller, j'ai trouvé le probleme: j'avais mis mes objets bouton sur mon graphe, et mon graphe etant protégé, les boutons l'etait egalement et peu importe leur position arriere plan ou avant plan, je n'arrivais pas cliquer sur eux. donc je les ai dupliquer en dehors du graphe

merci pour votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ah ok merci de la precision, je pensais ca servait a camoufler la cellule plus proprement qu'avec un jeu de couleurs
0
Bonjour a tous. Je voudrais limiter le temps d'utilisation d'un classeur
.Par exemple , apres le 15 juillet 2008 , je voudrais que mon classeur ne puisse plus etre ouvert par quiconque .
Merci pour toute reponse
0
m@rina Messages postés 20033 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 avril 2024 11 269
17 sept. 2008 à 23:58
Bonjour,

Tu peux mettre une macro qui empêche l'ouverture du fichier passé une certaine date... Mais si la personne modifie l'horloge du PC, le fichier s'ouvrira ! ;) Et si la personne a désactivé ses maros, idem...

m@rina
0
...euh, mes ezkuses !

Mais, sauf dans un cas tordu...

Tu crées une routine (macro) qui comptabilise le temps et qui s'appuie sur l'horloge (ou un compteur propre au fichier, même s'il s'appuie sur l'horloge pour compter, durant son ouverture.
Ainsi,
quand l'application tourne, elle compte le temps dans une cellule masquée.
quand l'application ne tourne pas, elle ne compte pas le temps.

Et au lieu de dire que le fichier est illisible à partir d'une date, tu précises qu'il le sera après x heures d'utilisation du fichier, et non de présence sur le PC.

A plus !
0
...euh, mes ezkuses !

Mais, sauf dans un cas tordu...

Tu crées une routine (macro) qui comptabilise le temps en s'appuyant sur l'horloge. Tu crées un compteur qui stockera le temps dans une cellule et qui l'incrémente tant que le fichier est ouvert.
Ainsi,
quand l'application tourne, elle compte le temps en repartant de la cellule qui lui est associée, et elle la fait progresser.
quand l'application ne tourne pas, elle ne compte pas le temps.

Et au lieu de dire que le fichier est illisible à partir d'une date, tu précises qu'il le sera après x heures d'utilisation du fichier, et non de présence sur le PC. Et ce nombre d'heures est contenu dans la fameuse cellule masquée.

A plus !
0
Bonjour,

Mon problème est le suivant,
J'ai utilisé la fonction mettre sous forme de tableau d'excel afin d'obtenir un tableau qui s'agrandit lorsque l'on écris quelque chose sous la dernière ligne de celui-ci.

Se tableau se situe dans une feuille que je voudrais protéger afin de ne laisser que quelques champs et seulement certaines lignes tu tableau libres. J'ai bien sélectionner les cellules que je voulais laisser libres (les autres étant contraintes par défaut) mais lorsque je met la protection sur la feuille le tableau deviens comme statique, l'ajout de ligne automatique par écriture en dessous de celui-ci ne se fait plus.

J'ai retenter l'expérience en déverrouillant toutes les cellules de la feuille puis j'ai réactiver le verrou sur les cellules concernés mais ca ne fonctionne pas mieux.

La seul solution intermédiaire que j'ai trouver c'est de permettre l'ajout de lignes lorsque je verrouille la feuille, de cette manière je peux inséré des lignes dans mon tableau mais ce n'est pas tout à fait ce que je voudrais car le but est de faire un suivi.
0