Protection d'un worksheet

Bonjour tout le monde,

J'aimerais protéger un des feuilles d'unn classeur excel pour ne pas qu'elles soient modifiées manuellements.

Avant de rechercher j'aimerais donc savoir si les choses suivantes sont possibles

  • une macro écrit dans une feuille protégée sans demander le mot de passe
  • une feuille est protégé par un mot de passe qui serait le nombre de ligne de cette feuille avant écriture

Par exemple la feuille 2 contient 13 lignes, le mot de passe qui permet de lancer la macro serait e13. après exécution de la macro la feuille contient 14 lignes, le mot de passe pour relancer la macro devient e14 et ainsi de suite....

Je suis confronté à ce problème de mot de passe évolutif car chaque ligne de ma feuille représente la fabrication d'un produit. Dans chaque ligne il y a le nom de la personne qui a produit la pièce. Il arrive que les employés trouvent le mots de passe d'un de leur collègues en les regardant écrire au clavier et utilisent ce mot de passe pour d'autre pièces un peu complexe... Ce principe de mot de passe évolutif règlera le problème j'espère !

Si vous avez des conseils je suis preneur !

Merci d'avance !!

Bonjour,

et si le collègue regarde dans cette macro ??

loicd181 a écrit :

Avant de rechercher j'aimerais donc savoir si les choses suivantes sont possibles

  • une macro écrit dans une feuille protégée sans demander le mot de passe
  • une feuille est protégé par un mot de passe qui serait le nombre de ligne de cette feuille avant écriture

en effet les 2 critère sont réalisable en VBA


pour protéger une feuille : le faire manuellement pour la 1er fois (révision protéger la feuille et mettre le mdp)

au début de ton code faire :

sheets("NomDeFeuille").Unprotect("Le MDP")

à la fin de la macro :

dim newMDP as integer
newMDP = Range("A" & Rows.Count).End(xlUp).Row 'récupere le n° de la dernière ligne du la feuille
sheets("NomDeFeuille").protect("e" & newMDP)

C'est vrai que j'avais pensé à l'éventualité qu'il regarde la macro !

Merci

Et du coup merci pour le mot de passe évolutif !

Et du coup lors de la saisie du mot de passe est ce qu'il est possible d'afficher quelque chose du genre **** ?

Ou de manière générale, dans une textbox d'un userform, est il possible d'écrire mais que l'affichage soit **** ?

Merci d'avance

loicd181 a écrit :

Et du coup lors de la saisie du mot de passe est ce qu'il est possible d'afficher quelque chose du genre **** ?

on ne saisie jamais rien du coup, c'est la macro qui fait tout seul

D'accord ok merci.

Mais dans mon cas vu que j'ai plusieurs personnes qui travaille sur le même excel, chacun fait son travail et vient saisir la pièce quand elle est terminée. C'est pour ca que chacun à normalement son propre code.

Et normalement la macro reconnait le code qui a été utilisé et attribue le nom de la personne...

Je sais pas si ce que je demande est réalisable, pour l'instant j'essai simplement de trouver des conseils pour y arriver !

Ou alors je peux mettre un mot de passe unique pour la feuille et un userform demande le mot de passe de l'opérateur qui serait plus dans ce cas un loging, mais tant qu'il est caché lorque l'opérateur le saisie c'est bon !

Merci pour les conseils !

un logging avec une userform est la meilleur idée je trouver

en ce qui concerne cacher le mot de passe c'est assez simple :

un textBox a une propriété : PasswordChar

textBox.PasswordChar = "*" 

et le tour est jouer tout les caractère sont remplacer par "*" si vous voulez personnaliser le masque il suffit de changer dans : textBox.PasswordChar = "*"

Efficace !

Merci c'est un impeccable !!

Ce forum est vraiment génial

Bonne journée et à bientôt !

bonne chance pour la suite

Rechercher des sujets similaires à "protection worksheet"