On error go to, protection d'une feuille

Bonjour à tous,<br>

Ayant créé une base de données, j'ai protégé les feuilles contenant les données afin que les utilisateurs n' apportent pas, malencontreusement, une modification à cette base. Toutefois l'accès à cette base est autorisé moyennant un mot de passe.

De ce fait quand on désire accéder aux feuilles concernées, sans autorisation, le message suivant apparaît :

erreur

ce qui est logique et normal. mais par souci de convivialité je désirerais faire apparaître un message personnalisé du genre "un mot de passe est indispensable pour pouvoir accéder à la base de données".

Pour cela j'ai essayé d'utiliser un petit bout de code :

Sub gestionerreur()
On error Goto attention
instructions .......
Exit Sub

attention :
MsgBox("Un mot de passe est indispensable !")
End Sub

Ma question est la suivante : quelle instruction dois-je écrire pour obtenir satisfaction. J'en ai essayée plusieurs mais je tombe toujours sur le message de Microsoft Office Excel dès que je veux écrire dans la feuille protégée.

Merci et bonne journée

Jacky

Bonjour

Un exemple de ton fichier sans données sensibles serait le bienvenu.

Avec le mot de passe

Crdlt

Bonjour Jacky, Joco7915, le forum,

Un essai...(.code à placer dans le module de la feuille)....

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If ActiveSheet.ProtectContents Then
   Cancel = True
   MsgBox "Un mot de passe est indispensable pour pouvoir accéder à la base de données"
  End If
End Sub

Cordialement,

Joco7915, mon fichier est tout simple : tu ouvres un fichier, tu choisis une feuille, tu la protèges (Révision --> Protéger la feuille --> choisir un mot de passe). Une fois cela réalisé il te suffit d'essayer d'écrier dans cette feuille pour comprendre mon problème.

xorsankukai, évidemment pourquoi chercher "midi à 14 heures" et vouloir faire compliqué quand on peut faire simple. Je me suis bêtement focalisé sur la gestion d'erreur. Toutefois, pourquoi veux-tu déprotéger la feuille (Cancel = True). Mon but est d'interdire l'écriture dans cette feuille et signaler que si l'on veut le faire il faut posséder un mot de passe. A moi bien sûr de prolonger ce petit bout de code pour permettre à l'utilisateur, s'il en a la permission, d'obtenir ce mot de passe.

Merci à tous les deux et bon dimanche

Bonjour,

Cancel = True ne sert à rien, il n'existe pas dans cet événement (et ne sert pas à déprotéger...). Tu peux l'enlever

Pourquoi vouloir faire une usine à gaz pour mettre plus ou moins le même message que celui d'origine qui est très clair ?
Avis perso : aucun intérêt autre que d'ajouter des potentielles difficultés et erreurs.
eric

Pourquoi vouloir faire une usine à gaz pour mettre plus ou moins le même message que celui d'origine qui est très clair ?

Avis perso : aucun intérêt autre que d'ajouter des potentielles difficultés et erreurs.

eric

Peut être, mais avec l'expérience les messages parfois alambiqués de Microsoft perturbent les utilisateurs "de base", c'est pourquoi je voulais utiliser un message concis et clair, enfin ce n'est que mon avis personnel, et de plus grâce à l'ajout d'un petit bout de code supplémentaire et très simple je peux diriger l'utilisateur là où je le désire une fois qu'il aura tapé sur "OK".

Bon fin de journée

Re Bonjour ,

Je pense qu'il te faut ce genre de fichier pour faire ce que tu veux

8masquer-mdp2.xlsm (64.07 Ko)

Bonsoir,

Produit intéressant que je mets de côté, mais il ne convient pas avec celui que je suis en train d'élaborer. Mon mot de passe doit être très généraliste et ne sert pas uniquement pour une opération (exemple : accès à une feuille). A moi de voir si je peux adapter l'idée.

Merci et bonne soirée

Bonjour tout le monde,

Cancel = True ne sert à rien, il n'existe pas dans cet événement

Merci ériiic pour le correctif, au départ j'avais essayé ce code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Locked Then
   cancel = True
   MsgBox "Un mot de passe est indispensable pour pouvoir accéder à la base de données"
  End If
End Sub

Car je supposais que certaines cellules étaient verrouillées et d'autres non....

Cordialement,

Rechercher des sujets similaires à "error protection feuille"