Vérification si feuille sécurisée ou pas

Taebo

XLDnaute Nouveau
Bonjour tout le monde!

Je profite déjà de remercier tout le forum et les milliers de réponses que j'y ai trouvé et qui m'ont fait progresser en VBA.

Mais voilà, aujourd'hui je ne trouve pas la solution par moi-même.

Mon problème est le suivant.

Je veux, dans une procédure qui se situe dans une macro, faire en sorte que lorsque la macro s'active et que la feuille est protégée, la macro déprotège la feuille, fasse ces petits bidouillages, et re-protège la feuille après.

S'il n'y avait que ça, ça irait, mais:

Il faudrait que la macro, si la feuille n'est pas protégée, ne re-protège pas la feuille.

Donc ma question est la suivante:

Je dois dire au début de la macro un truc du genre:

dim protection as boolean
protection = false

If Worksheets("feuil1").protection = True Then ActiveSheet.Unprotect
protection1 = True
End If

Et à la fin un truc comme:

If protection1 = True Then Worksheets("feuil1").Protect

J'ai mis en jaune ce qui, vous vous en doutez bien, me reviens comme message d'erreur. Je ne sais pas comment écrire ce critère et s'il existe!
L'aide (F1) me renvoie des AllowInsertingColumns etc. alors que ce que je veux savoir c'est juste si la feuille est protégée ou pas.

Merci d'avance
 

Pierrot93

XLDnaute Barbatruc
Re : Vérification si feuille sécurisée ou pas

Bonjour Taebo, Gilbert:)

une autre solution :

Code:
If Feuil1.ProtectContents = True Then

sinon tu peux également protéger la feuille par vba en utilisant l'argument
"userinterfaceonly", qui permet d'agir par le code sur une feuille protégée.
Exemple ci dessous à placer dans le module "thisworkbook" :

Code:
Private Sub Workbook_Open()
Feuil1.Protect userinterfaceonly:=True
End Sub

bonne journée
@+
 

Taebo

XLDnaute Nouveau
Re : Vérification si feuille sécurisée ou pas

Lol déjà joli pour la rapidité

Je sais pour le jaune mais je l'ai vu que après coup. dsl
Je referai pas la même erreur.

J'ai compris pour protection et protect. J'avais déjà essayer mais avec la mauvaise indication. c'est à dire j'avais mis protect = true comme condition pour dire "la feuille est protégée" alors que en fait j'aurais dû mettre protect = false. Enfin je me comprend.

Merci encore!!!
 

Taebo

XLDnaute Nouveau
Re : Vérification si feuille sécurisée ou pas

ok je retire ce que j'ai dis....

Après avoir essayé la procédure un peu plus en avant, je me rends compte que mon ordi passe sur la condition Sheets("feuill1").protect = true comme si elle n'existait pas! En gros, il ne reconnait pas cet ortographe. C'est possible ou c'est moi le problème?

Voici la procédure:
Dim protection As Boolean
protection1 = False

If Sheets("Machbarkeitstudie").Protect = True Then
Else
Sheets("Machbarkeitstudie").Unprotect
protection1 = True
End If

Range("f76:M81").Clear 'j'ai un message d'erreur à ce stade qui me dit que je n'ai pas désécurisé la feuille, alors que je viens de l'avoir fais!!!

'ici la macro fais son petit business sur la feuille

If protection1 = True Then ActiveSheet.Protect "cat"
 

Taebo

XLDnaute Nouveau
Re : Vérification si feuille sécurisée ou pas

Ok j'anticipe les commentaires:

J'ai essayer cette procédure avec protect = true, protect = false, avec else, sans else, et le seule chose qui est certaine est que la condition protect = true / false est pas reconnue
 

Discussions similaires

Réponses
4
Affichages
536

Statistiques des forums

Discussions
311 720
Messages
2 081 899
Membres
101 834
dernier inscrit
Jeremy06510