Protection toutes les feuilles + sauvegarde avant fermeture

Bonjour, Voilà le message que j'ai laissé il y a quelques jours sur votre forum ainsi que la réponse qui m'a été faite.

Je souhaiterais protéger l'ensemble des feuilles de mon fichier avec une sauvegarde automatique à la fermeture de mon fichier.

Puis avoir la possibilité de les déprotéger suivant mes besoins en cours d'utilisation.

Par avance merci pour votre aide

cordialement

mibri

REPONSE

Private Sub Workbook_BeforeClose(Cancel As Boolean)

For Each sh In Sheets

sh.Protect

Next sh

ThisWorkbook.Save

End Sub

Ce code convient tres bien à ma recherche, cependant, je m'aperçois que n'importe qui peut déprotéger le fichier, la protection étant automatique à la fermeture du fichier, il peut se passer n'importe quoi sur ce fichier.....et je n'y verrais que du feu.

Si je peut à nouveau user de votre temps que faut il ajouter à ce code afin que la fonction "oter la protection" ne puisse se faire qu'à l'aide d'un mot de passe.

par avance je vous remercie pour votre aide

cordialement

mibri

Bonsoir

Il faut affecter un mot de passe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each sh In Sheets
sh.Protect Password:="mot de passe"
Next sh
ThisWorkbook.Save
End Sub

Il faut aussi protéger ton code

Dans l'éditeur

Menu Outils ---> Propriétés VBAProject ...

Onglet Protection

Coches "Verrouiller le projet pour l'affichage"

Tu inscris un mot de passe (que tu confirmes) et tu sauves

Bonsoir Benzai64 et merci pour ta réponse, c'est bien ce que je cherche à faire mais et la déprotection peut s'effectuer sur toutes les feuilles

merci

cordialement

Bonsoir

mibri a écrit :

la déprotection peut s'effectuer sur toutes les feuilles

Oui une par une

Menu Outils ---> Protection

Bonjour,

Excuse moi, je me suis mal exprimé, je voulais dire toutes les feuilles simultanément

merci

cordialement

mibri

Bonjour

En passant par un bouton

Exemple de code

Sub Ouvre()
Dim Rep
Dim Sh As Worksheet

  Rep = InputBox("Veuillez entre le mot de passe", "Deprotection des feuilles")
  If Rep <> "mot de passe" Then Exit Sub
  For Each Sh In Sheets
    Sh.Unprotect Password:="mot de passe"
  Next Sh

End Sub

Je suis navré mais ça signifie quoi "en passant par un bouton" (expérience nulle en vba) et je fais comment ?

cordialement

Bonjour

Ne t'inquiètes pas tout le monde à débuté

Je t'invites à suivre les cours VBA disponibles sur ce site

Tu colles la macro dans un module

Tu dessines avec la barre outils Dessin une forme (carré, rectangle, ovale etc.....)

Clic droit sur la forme ---> Affecter une macro et dans la liste tu choisis Ouvre

qu'est ce qu'un module, sur mon fichier d'essai je vois dans VBA project mes trois feuilles + thisworkbook dans lequel se trouve le code, si il faut créer un module(?) si oui comment, faudra t il conserver tout de même le code dans thisworkbook

merci

Bonjour

Pour insérer un module

Dans l'éditeur du VB

Menu Insertion ---> Module

Et dedans tu colles le code de la macro

Voir le fichier

Bonjour,

OK, c'est parfait Benzai64, je te remercie infiniment pour ton aide, une dernière chose, est ce que mon application va fonctionner sur Excel version 2010 (je vais très certainement lire les cours VBA, "ça m’accroche"

je te souhaite une bonne soirée

cordialement

mibri

Bonjour

mibri a écrit :

est ce que mon application va fonctionner sur Excel version 2010

Il y a de fortes chances que tu n'es aucun problème

Quand tu vas le tester sur 2010 tu diras si tu as rencontré des difficultés

Rechercher des sujets similaires à "protection toutes feuilles sauvegarde fermeture"