Protection feuille en VBA mais boite de dialogue à l'ouverture

350dr

XLDnaute Junior
Bonjour le forum,
Voici mon PB :
J’exécute des macos dans une feuille protégée.
Après plusieurs rechercher sur ce forum, j’ai trouvé une solution qui me convient à 1 détaille près :
J’ai ajouté cette macro dans ThisWorkbook :

Private Sub workbook_open()
Sheets("mafeuille").protect userinterfaceonly :=True
End Sub

J’autorise donc la protection uniquement de l’interface utilisateur pour que mes macros fonctionnent
Jusque là c’est OK
Le problème est que quand j’ouvre le classeur, j’ai la boite de dialogue « ôter la protection de la feuille » qui s’affiche.
J’ai rajouté le code :
Appication.DisplayAlerts=False
Mais c’est sans effet.
Auriez-vous une idée
Merci de votre aide
 

Pierrot93

XLDnaute Barbatruc
Re : Protection feuille en VBA mais boite de dialogue à l'ouverture

bonjour 350dr, Geo

ta feuille n'est pas protégée par un mot de passe ?
Code:
Private Sub workbook_open()
Sheets("mafeuille").protect "MotDePasse", userinterfaceonly :=True
End Sub

bon après midi
@+
 

350dr

XLDnaute Junior
Re : Protection feuille en VBA mais boite de dialogue à l'ouverture

Merci pour vos réponses,
Effectivement, Pierrot tu as raison, j'ai oublié le mot de passe du coup, Excel me le demande à l'ouverture de la feuille.
J'avais essayé un Unprotect avant de lancer la macro puis je reprotégeais la feuille avec:
Sheets("toto").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="mon MDP"

Se qui me permettais de déprotéger la feuille mais les cellules protégées pouvais être sélectionnées (pas modifiées) et du coup on pouvait voir les formules.
J'ai fais F1 sur protect pour voir les options mais il n'y a pas la possibilité d'interdire la sélectionne de cellules protégées.
Connais tu une condition à ajouter pour éviter la sélection (comme quand on fait une protection manuelle avec Outils/ Protection/Protéger la feuille et que l’on désélectionne la condition " Sélectionner les cellules verrouillées " ?
Merci
 

350dr

XLDnaute Junior
Re : Protection feuille en VBA mais boite de dialogue à l'ouverture

Bonsoir Pierrot93
Ce code fonctionne mais uniquement si j'ai fais une protection manuelle avant.
Mais ça me va comme ça, il suffit que je protège bien ma feuille avant de la diffuser.
Merci à toi
 

Pierrot93

XLDnaute Barbatruc
Re : Protection feuille en VBA mais boite de dialogue à l'ouverture

Bonjour,

ceci doit fonctionner, non....
Code:
Private Sub workbook_open()
With Sheets("mafeuille")
.EnableSelection = xlUnlockedCells
.protect "MotDePasse", userinterfaceonly :=True
End With
End Sub

bonne journée
@+
 

350dr

XLDnaute Junior
Re : Protection feuille en VBA mais boite de dialogue à l'ouverture

C'est nickel, ça marche. J'avais oublié le s à la fin de xlUnlockedCells et du coup la procédure n'était pas prise en compte
Un grand merci Pierrot
 

Discussions similaires

Statistiques des forums

Discussions
312 416
Messages
2 088 245
Membres
103 783
dernier inscrit
manax