Microsoft 365 Protection de la feuille excel specifique apres fermeture-reouverture

vby

XLDnaute Nouveau
Bonjour Cher réseau,

Je viens à peine de m'inscrire et je suis tout nouveau dans le VBA.

Je suis sur un projet où chacune de mes feuilles du classeur est protégée par un mot pour modification. Je voudrais que lorsque j'ôte la protection pour modification et que je ferme le fichier sans besoin de mettre la protection, qu'à la réouverture du classeur à l'emplacement de la feuille il me redemande le mot de passe pour modification.
Je voudrais rendre ce processus automatique.

Merci d'avance !
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Vby, et bienvenu sur XLD,
Une possibilité, à mettre impérativement dans ThisWorkbook :
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ' Modifier nom de la feuille à protéger et le mot de passe
     Sheets("Feuil1").Protect Password:="1234"
     ThisWorkbook.Save
End Sub
 

GALOUGALOU

XLDnaute Accro
bonsoir le forum, bonsoir sylvanu
re vby
par vba, dans l'événement feuille mettre ce code, il ne sera plus possible de se servir du filtre automatique
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If ActiveSheet.AutoFilterMode = True Then ActiveSheet.AutoFilterMode = False
End Sub
cdt
galougalou
 

vby

XLDnaute Nouveau
bonsoir le forum, bonsoir sylvanu
re vby
par vba, dans l'événement feuille mettre ce code, il ne sera plus possible de se servir du filtre automatique
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If ActiveSheet.AutoFilterMode = True Then ActiveSheet.AutoFilterMode = False
End Sub
cdt
galougalou
Merci galoukou,

Ca ne marche pas. L'idée que j'avais derrière est d'empêcher le Tri ( PAS LE FILTRE) des cellules même si la protection est ôtée.

Merci encore !
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Galougalou, Vby,
Je ne sais pas si cela est possible d'interdire le tri.
La seule solution que je connaisse est de déverrouiller toutes les cellules accessibles puis de protéger la feuille en autorisant le filtrage mais pas le tri.
Voir cet exemple :
 

vby

XLDnaute Nouveau
Merci beaucoup Sylvanu. ton code m'a beaucoup aidé :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
' Modifier nom de la feuille à protéger et le mot de passe
Sheets("Feuil1").Protect Password:="1234"
ThisWorkbook.Save
End Sub

Mon souci et, comme c'est un document partagé avec d'autres collègues, j'ai remarqué que lorsque je leur donne le mot de passe, ils peuvent ôter la protection pour apporter des modifications mais en retour ils peuvent aussi changer le mot de passe et c'est ca exactement que je ne veux pas.

Je veux juste qu'ils puissent, seulement quelques uns, ôter la protection et apporter des modifications à la feuille, mais en retour qu'ils ne puissent pas changer le mot de passe et qu'à la fermeture du fichier que mon mot de passe soit le seul de rigueur.

Merci encore pour vos contributions, je suis bien en Excel mais très novice en vba !
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Vby,
Le seul moyen que j'entrevois est d'utiliser un bouton sur la feuille avec une macro.
On gère un mot de passe "invité" par le bouton qui appelle un userform et un mot de passe "admin" par la macro Workbook_BeforeClose. De plus le mot de passe invité n'est pas modifiable. ( sauf à bidouiller le VBA évidemment )
En PJ une maquette avec dans l'userform :
VB:
Private Sub CommandButton1_Click()
    If mdp = "invité" Then
        Sheets("Feuil1").Unprotect Password:="admin"
        Unload DemandeMdp
    Else
        mdp = ""
    End If
End Sub
 

Pièces jointes

  • pwd.xlsm
    18.9 KB · Affichages: 7
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Le plus simple est de mettre un dessin ou une forme sur la feuille, vous la cliquez et faites clic droit et "Affecter une macro", et vous sélectionnez PWD.mdp.
ou avec votre fichier, vous vous mettez en onglet Développeur/Mode création. Vous faites double clic sur votre bouton et renseignez la macro avec UserForm1.Show; ( 2eme PJ )
 

Pièces jointes

  • bouton.xlsm
    19.6 KB · Affichages: 5
  • bouton (1).xlsm
    20.7 KB · Affichages: 3

Discussions similaires

Réponses
2
Affichages
456

Statistiques des forums

Discussions
315 166
Messages
2 116 910
Membres
112 908
dernier inscrit
Sidou4985