XL 2016 Verrouiller feuille avec création de mot de passe

AntonG

XLDnaute Nouveau
Bonjour,

J'ai un excel qui contient une feuille de gestion et des feuilles que les personnes avec qui nous travaillons doivent remplir.

Je souhaiterais que mes feuilles excel à remplir puissent être verrouillées et que la création du mot de passe me soit demandé pour que je puisse envoyer le fichier (Comme quand on le fait manuellement). J'ai tenté de faire avec l'enregistreur de macro mais il me prends pas la partie ou le pop-up de création de mdp apparaît.

J'ai donc pour l'instant un code comme celui-ci (mais il verrouille sans mot de passe):
VB:
Private Sub CommandButton3_Click()
Dim ret As Integer
ret = MsgBox("Avant de verrouiller le classeur, assurez-vous d'avoir une copie de l'orginial ainsi qu'un fichier texte avec le mot de passe que vous saisirez.", vbYesNo)
If ret = vbNo Then
    Exit Sub
Else
Sheets("Aide_paramètre").Protect , DrawingObjects:=False, Contents:=True, Scenarios:=False, AllowInsertingHyperlinks:=True
End If
End Sub

J'ai aussi tenté un variante :
VB:
Private Sub CommandButton3_Click()
Dim ret As Integer
ret = MsgBox("Avant de verrouiller le classeur, assurez-vous d'avoir une copie de l'orginial ainsi qu'un fichier texte avec le mot de passe que vous saisirez.", vbYesNo)
If ret = vbNo Then
    Exit Sub
Else
Sheets("Aide_paramètre").Protect Password = Worksheets("Gestion").Range("B12").Value , DrawingObjects:=False, Contents:=True, Scenarios:=False, AllowInsertingHyperlinks:=True
End If
End Sub

Cela verrouille mais en saisissant la valeur de B12, il me dit que je n'ai pas le bon mot de passe.

Ce que je souhaite c'est que, après avoir cliquez sur le bouton pour dire que je veux verrouiller les feuilles et valider en confirmant sur oui. Je dois pouvoir doit pouvoir créer le mdp (cette feuille de gestion ou est présent le bouton sera supprimée par la suite, car elle ne doit pas être transmise à la personne qui reçoit l'excel). Il est possible d'envisager que je saisisse le mdp, par exemple en "B12", mais la suppression de cette feuille doit faire que les autres feuilles conservent le mdp.

Je ne souhaite pas que le mdp soit intégré dans le code vba car celui-ci doit être défini à chaque fois en fonction des projets.

Comment faire ?

En vous remerciant par avance !
 
Solution
Bonjour
la variante est pas mal… il faut seulement ajouter une variable
VB:
Private Sub CommandButton3_Click()
Dim ret As Integer, mavar as string
ret = MsgBox("Avant de verrouiller le classeur, assurez-vous d'avoir une copie de l'orginial ainsi qu'un fichier texte avec le mot de passe que vous saisirez.", vbYesNo)
If ret = vbNo Then
    Exit Sub
Else
mavar= Worksheets("Gestion").Range("B12").Value
Sheets("Aide_paramètre").Protect (mavar)
End If
End Sub
A+ François

fanfan38

XLDnaute Barbatruc
Bonjour
la variante est pas mal… il faut seulement ajouter une variable
VB:
Private Sub CommandButton3_Click()
Dim ret As Integer, mavar as string
ret = MsgBox("Avant de verrouiller le classeur, assurez-vous d'avoir une copie de l'orginial ainsi qu'un fichier texte avec le mot de passe que vous saisirez.", vbYesNo)
If ret = vbNo Then
    Exit Sub
Else
mavar= Worksheets("Gestion").Range("B12").Value
Sheets("Aide_paramètre").Protect (mavar)
End If
End Sub
A+ François
 

Discussions similaires

Réponses
2
Affichages
154
Réponses
5
Affichages
394
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 165
Messages
2 085 880
Membres
103 009
dernier inscrit
dede972