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):
J'ai aussi tenté un variante :
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 !
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 !