GUGUSSE2 Nouveau
Inscrit le : 29 Oct 2007 Messages : 1
| Sujet: Pb avec EXCEL 2007 Mar 30 Oct - 12:53 | |
| Bonjour,
J'ai créé un fichier comportant deux boutons auxquels j'ai affecté les deux macros suivantes, ce fichier étant enregistré sur une disquette ou sur une clef USB que le prof garde précieusement !
Il suffit d'ouvrir ce fichie ET le fichier "xxx.xlsm" pour pouvoir protéger ou déprotéger d'un seul clic toutes les feuilles, et les macros ne figurent pas dans le fichier manipulé par les élèves.
En vérifiant le bon fonctionnement de l'ensemble, et du fait que je ne suis pas sûr de disposer d'EXCEL 2007, j'ai fait deux sauvegardes :
la première au format EXCEL 2007 et la deuxième au format EXCEL 93-97
Lorsque je récupère les fichiers au format EXCEL 93-97 (en mode compatibilité), tout est OK (le fichier "xxx.xls" s'ouvre en état protégé, mais lorsque je les récupère au format EXCEL 2007, TOUTES les cases du fichier "xxx.xlsm" sont accessibles, y compris les cases verrouillées !
Quelqu'un peut' il m'expliquer pourquoi la protection ne résiste pas à la sauvegarde et/ou à l'ouverture ? Que manque-t' il à mes macros "2007" ?
Sub Protéger_xxx()
'
Workbooks("xxx").Activate
For Each f In Worksheets
f.Protect "toto", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
Next
End Sub
Sub Déprotéger_xxx()
'
Workbooks("xxx").Activate
Dim MDP As String
MDP = InputBox("Entrer mot de passe :", "Désactivation de la protection des feuilles")
For Each f In Worksheets
f.Unprotect MDP
Next
End Sub |
|
Yora_senior Modérateur

 Age : 64 Inscrit le : 29 Juin 2005 Messages : 1117 Localisation : Saint Cyr sur Mer (Var) et parfois St Quentin (Aisne) Votre configuration PC Processeur, RAM: AMD 1,8 Ghz Carte graphique, disque dur: ATI RADEON XPRESS 200- HDD 160 Go + 80 Go + Externe 320 Go Système d'exploitation, service pack: Windows XP SP2
| Sujet: Re: Pb avec EXCEL 2007 Mar 30 Oct - 21:16 | |
| Bonsoir Gugusse2,
Je n'ai pas Excel 2007 et il y a longtemps que je n'ai plus Excel 97.
Dans cette procédure :
| Code: | Sub Protéger_xxx() Workbooks("xxx").Activate For Each f In Worksheets f.Protect "toto", DrawingObjects:=True, Contents:=True, Scenarios:=True ActiveSheet.EnableSelection = xlUnlockedCells Next End Sub |
1) on suppose que la variable "f" est définie en variable "Object" ou "Worksheets" mais le problème n'est pas vraiment là à priori.
2) dans la 1ère ligne ci-dessous vous protégez le contenu des cellules verrouillées et dans la 2ème vous ne permettez de selectionner que les cellules non protégées et donc non verrouillées :
| Code: | f.Protect "toto", DrawingObjects:=True, Contents:=True, Scenarios:=True ActiveSheet.EnableSelection = xlUnlockedCells |
Il y a pas mal de nouvelles fonctionnalité entre la version 2007 et les versions précédentes et en particulier en ce qui concerne la protection des classeurs, feuilles et cellules.
Sous Excel 2007 et en affichant la fenêtre VBA vous placez le curseur sur le terme "Protect" et vous appuyez sur la touche "F1". Vous devriez trouver de l'aide sur cette fonction.
Vous pouvez aussi faire la même chose sur "EnableSelection"
Tenez-nous au courant. Amicalement. _________________
 |
|