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
'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:
Autoriser données par macro dans classeur partagé et protégé