PB avec EXCEL

Résolu/Fermé
GUGUSSE2 Messages postés 72 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 1 février 2017 - 29 oct. 2007 à 10:10
GUGUSSE2 Messages postés 72 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 1 février 2017 - 26 juin 2009 à 19:49
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
A voir également:

6 réponses

Bonjour,
Tes macros sont ok

as tu fait "enregister sous" puis "Type de fichier" ,sélectionne "Classeur microsoft Excel" ?

néné
http://utilsfr.new.fr
0
Bonjour;
j'ai refait la manip :
j'ai ouvert mes fichiers; puis j'ai exécuté la macro de protection.
Les cellules étaient bien inaccessibles.
J'ai fait "sauver sous" "Classeur EXCEL acceptant les macros" et j'ai écrasé le fichier existant.
J'ai quitté EXCEL puis j'ai réouvert mes fichier ; les cellules étaient accessibles !

La solution n'est pas dans la sauvegarde
Quelqu'un d'autre a t'il la solution ?
A +
0
Utilisateur anonyme
30 oct. 2007 à 12:31
Le code VB se fait vieux dans ma tête, mais si tu rajoute un timer pour répété l'action, ce serait mieux et un peut plus incassable...


PS : Ton code est a la portée de tous, on peut te le volée quand on veux...
0
Bonjour,

je ne vois pas trop en quoi un "timer" serait mieux dans mon cas (les cellules verrouillées sont accessibles à l'ouverture du fichier sous EXCEL 2007).
D'autre part, si je verrouille Vb pour que les codes ne s'affichent pas, les élèves pourront-ils déprotéger les feuilles ?
Le but est qu'il ne viennent pas mettre la pagaille dans la partie qui n'est réservée, même si je fait une copie de sauvegarde chaque fois que je dois intervenir (j'ai autre chose à faire que de mettre à jour le tableau !)

Merci de ton aide.
0
Utilisateur anonyme > GUGUSSE2
30 oct. 2007 à 14:31
Quand je dis a la portée de tous, je parle de ce site.
0
Bonjour,
Regarde par hazar , si tu n'a pas une macro qui j'appelle auto_close ,
si oui regarde le code qui est dedans

regarde aussi dans ThisWorkbook
la aussi regarde le code qui est dedans

car il se peux quand quittant le classeur se déverouille
0

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

Posez votre question
Bonjour,
J'ai vérifié et il n'y a aucune macro du type "auto_close" et il n'y a rien dans "ThisWorkbook".
En fait, la feuille est bien rpotégée mais toutes les cellules peuvent çetre sélectionnées :
aucune modification ne peut-être faite au clavier mais comme il y a des macros qui déverrouillent la feuille le temps de l'opération, la case étant sélectionnée, je risque de me retrouver avec des informations parasites ou modifiées.
Ci joint une macro à disposition des élèves qu'ils ne doivent pouvoir utiliser QUE sur des caes non verrouillées ;

Sub ATTEINT()
'
' ATTEINT Macro
'
' Touche de raccourci du clavier: Ctrl+q
'
ActiveSheet.Unprotect "GUGUSSE2"
With Selection.Interior
.Color = 3407718
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
With Selection.Font
.Color = 3407718
Selection.FormulaR1C1 = "2"
End With
ActiveSheet.Protect "GUGUSSE2", True, True, True
End Sub

Merci à tous ceux qui me lirons et qui voudrons bien m'aider.
0
GUGUSSE2 Messages postés 72 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 1 février 2017 7
26 juin 2009 à 19:49
Salut à tous,
Un problème se santé à rendu caduque le problème (je n'enseigne plus et n'enseignerai plus jamais).
Le "bug" sur EXCEL demeure mais cela n'a plus d'importance.
Merci à ceux qui m'ont aidé.
Salut
GUGUSSE
0