Proteger le contenu de cellules avec VBA

sandrine_nelly Messages postés 41 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 31 janvier 2008 - 27 avril 2005 à 20:50
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 - 27 avril 2005 à 23:27
Bonjour à tous,

J'aimerais protéger le contenu de certaines cellules des mes feuilles de calcul.
Cependant, je ne peux pas utiliser l'option proctection de ma feuille d'excel" car elle interdit ceratines actions que j'ai besoin de laisser à l'utilisateur (exelple: le fait de masquer des lignes).
C'est pourquoi, j'aimerais pouvoir le faire par le bais d'un petit code VBA.

Est ce que qq un pourrais m'aider ?

3 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
27 avril 2005 à 21:03
Tu protèges ta feuille et dans le code des actions que tu permets à l'utilisateur, tu mets en début ActiveSheet.Unprotect et à la fin du code, ActiveSheet.Protect.
De cette façon la procédure enlève la protection et la remet dès que la procédure est finie.
Quand à l'utisisateur, il ne sait rien faire d'autres.

jpleroisse
0
sandrine_nelly Messages postés 41 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 31 janvier 2008
27 avril 2005 à 22:35
Merci, cependant, l'utilisateur peut oter la perotection par l'intermédiaire d'excel.

il faudrait donc renseihgner un mot de passe qulque part.
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
27 avril 2005 à 23:27
Non , tu mets dans Private Sub WorkBook_Open ()

Sheets("Feuil1").Activate (ou le nom de ta feuille, si tu l'a nommée)
Application.CommandBars(1).Enabled = False
Application.CommandBars("Standard").Enabled = False
Appication.CommandBars("Formatting").Visible = False
Application.DisplayFormulaBar = False
End Sub

Evidemment ne pas oublier que pour quitter l'appication, il faut remettre les CommandBars à True.

Private Sub WorkBook_Deactivate()

Application.CommandBars(1).Enabled = True
Application.CommandBars("Standard").Enabled = True
Appication.CommandBars("Formatting").Visible = True
Application.DisplayFormulaBar = True
End Sub

Si tu as fais un bouton Quitter, tu mets également, le code dns la procédure.

Attention que si tu dois encore travailler sur le projet, prévois un bouton avec également la procédure de rétablissement.

jpleroisse
0
Rejoignez-nous