JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 2011
-
4 févr. 2008 à 18:14
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 2011
-
5 févr. 2008 à 10:26
Bonsoir,
Sous VBA, la fonction Excel "ActiveWorkbook.Protect" est une bascule dans la mesure ou si le fichier est protégé, l'exécution de cette fonction le déprotège et vicé versa.
Quelqu'un connaitrait il un moyen de controler l'état de protection du fichier avant l'exécution de cette fonction
J'ai testé "If ActiveWorkbook.Protect = True" mais la chose ne l'accepte pas
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 4 févr. 2008 à 20:46
Salut,
tu peux essayer ceci :
If ActiveWorkbook.ProtectStructure Or ActiveWorkbook.ProtectWindows Then MsgBox "ProtectStructure " & ActiveWorkbook.ProtectStructure & vbCrLf & "ProtectWindows " & ActiveWorkbook.ProtectWindows
End If
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 4 févr. 2008 à 21:35
...
apres reflexion je pense qu'une petite explication s'impose.
comme tu le sais surement deja quand tu proteges un document excel, je ne parle pas ici d'une feuille mais bien du workbook lui meme, tu as 2 options possible :
- la protection de la structure du document
- la protection des fenetres
il n'est pas possible de proteger un document sans choisir l'une de ces options c'est peut etre pour cette raison AitiveWorBook.Protec ne suffit pas.
Tu pourrais faire utiliser soit ;
if ActiveWorkbook.ProtectStructure = true then
ou
if ActiveWorkbook.ProtectWindows = true then
mais cela ne te suffirais pas pour savoir que ton document est protegé donc la solution
with ActiveWorkbook if .ProtectWindows true or .ProtectStructure true then MsgBox "Ce document est protege "
end With
Vala, tu auras sans doute compris sans cette explication mais elle s'imposait peut etre pour d'autre
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 20112 5 févr. 2008 à 10:26
Salut Philippe,
C'est exactement ce que je cherchais. J'étais bêtement parti du principe que si ".protect" n'acceptait pas le test vrai/faux, il devait en être de même pour "ProtectStructure" et "ProtectWindows" ... comme quoi !!!
J'ai donc utilisé ce qui suit
If ActiveWorkbook.ProtectStructure = False And _
ActiveWorkbook.ProtectWindows = False Then _
ActiveWorkbook.Protect "z"