Autoriser données par macro dans classeur partagé et protégé

Fermé
Midway7 Messages postés 8 Date d'inscription vendredi 27 février 2015 Statut Membre Dernière intervention 18 mars 2015 - Modifié par Midway7 le 27/02/2015 à 11:54
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 27 févr. 2015 à 18:59
Bonjourà tous,

J'ai il y a peu créé une macro permettant de saisir des données (via un userform) et les compiler dans des tableaux. Dans la macro de mon userform, la protection est enlevée pour remplir les tableaux et à la fin, la protection est remise. Ce qui fait que l'utilisateur n'a la main (visuellement parlant)que pour déclencher le formulaire.
Hors ce document à vocation d'être partagé, et j'ai vu que la "déprotection" et la protection était impossible en fichier partagé.
Néanmoins il existe (apparement) une macro qui me permettrait de garder la feuille sécurisé, tout en autorisant les macro à remplir les tableaux.
Voici le code que j'ai trouvé :

Sub Autoriser_modif_par_macro()
'
Dim Fichier As String

Fichier = ThisWorkbook.FullName
Application.DisplayAlerts = False

'Protège la feuille "Feuille1" et autorise les modifications
'uniquement par macro (UserInterfaceOnly:=True)
With ActiveWorkbook
.ExclusiveAccess
.UnprotectSharing '"Password"
.Worksheets("Feuille1").Protect Contents:=True, UserInterfaceOnly:=True
.ProtectSharing Filename:=Fichier ', Password:="Password"
End With

Application.DisplayAlerts = True
End Sub

Lors du lancement de cette macro, elle bug quand elle arrive au point .Exclusiveaccess, et ne connaissant pas du tout ces fonctions je ne sais pas trop comment faire.

NB : Je veux autoriser la saisie dans deux feuilles différentes au sein du même classeur.

EDIT : J'ai trouvé d'où vient lep roblème, c'était parce que j'exécutais la macro sans la partager... Mais maintenant je m'heurte à un autre problème, le mot de passe. Je ne comprends pas à quel moment il est généré, et surtout je voudrais éviter que l'utilisateur aille à taper le mot de passe à chaque saisie.

Merci de votre réponse.
A voir également:

1 réponse

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
27 févr. 2015 à 18:59
Bonsoir Midway, bonsoir le forum,

Habituellement, ce genre de code dans la macro d'ouverture du classeur :

Private Sub Workbook_Open()
Sheets("Feuil1").Protect Password:="toto", UserInterfaceOnly:=True
End Sub

est suffisant pour faire ce que tu demandes...

0