XL 2016 [RESOLU] VBA pour protéger avec mot de passe quelques onglets

bouclesdor

XLDnaute Occasionnel
Bonjour à tous,

Je cherche à protéger seulement quelques onglets dans un fichier et j'ai trouvé ce code pour protéger 1 onglet

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'protège les feuilles
Dim MySheet As String
Dim Response As String
MySheet = "Sheet1"
Range("Z1").Select 'pour qu'on ne voit pas les tableaux lors de la sélection de l'onglet servier
If ActiveSheet.Name = MySheet Then
ActiveSheet.Visible = False
Response = InputBox("Enter password to view sheet")
If Response = "123" Then
Sheets(MySheet).Visible = True
Application.EnableEvents = False
Sheets(MySheet).Select
Application.EnableEvents = True
Else
Sheets(MySheet).Visible = False
End If
End If
Sheets(MySheet).Visible = True
Range("a1").Select
End Sub​

mais je veux protéger 3 onglets... je fais comment... j'ai essayé en changeant :
Dim MySheet As String par Dim MySheet As variant​
et en remplacant
MySheet = "Sheet1" par MySheet = array("Sheet1", "sheet 3", "sheet7")​
ça ne fonctionne pas... je dois peut-être changer quelque chose au code
If ActiveSheet.Name = MySheet Then​
mais par quoi??? quelque chose comme
If ActiveworkSheets.Name = MySheet Then​

merci à l'avance de votre aide!
Bouclesdor
 
Dernière édition:

bouclesdor

XLDnaute Occasionnel
Bonjour papou, merci pour votre réponse! Je croyais que le fichier ne serais pas nécessaire...
comme je n’ai pas accès au fichier pour le moment, je ne peux vous l’envoyer mais il n’y a rien d’en compliqué dedans c’est vraiment juste de masquer quelques onglets et pas d’autre... j’envoie le fichier la semaine prochaine !! Merci!
 

Paritec

XLDnaute Barbatruc
Re bonjour Bouclesdor le forum
quand je lis ta réponse cela me fait penser que, tu poses des questions, tu veux des réponses, mais surtout pas t'investir pour avoir ces réponses!!!
voilà un fichier avec ce que tu veux (fichier extrêmement difficile à faire)
a+
Papou:)
 

Pièces jointes

  • Bouclesdor V1.xlsm
    24 KB · Affichages: 38

bouclesdor

XLDnaute Occasionnel
Bonjour Papou,

Un gros merci pour votre réponse et votre fichier, c'est réellement apprécié! Je viens de tester le fichier et ça fonctionne à merveille! C'est en plein ce que je voulais faire!! J'avais un manque de connaissances en codes VBA pour être capable d'écrire le code en faisant référence à quelques onglets (If sh.Name = "jardin" Or sh.Name = "fleur" Or sh.Name = "maison" Then sh.Visible = 1 ).

Je suis vraiment désolée si pour vous j'ai donné l'impression de ne pas vouloir m'investir en ne joignant pas le fichier à mon post, mais dans ma tête, je croyais qu'il n'était pas nécessaire de le mettre... Je pensais qu'en mettant mon code avec mes explications c'était suffisant pour comprendre mon problème et que quelqu'un pourrait me mettre sur une piste en me disant essaie d'écrire ton code de telle façon.... mais je comprends qu'un fichier vous aurait grandement aidé à tester le code et que vous n'auriez pas eu besoin de faire un fichier...

Encore une fois, merci beaucoup pour votre aide et pour votre temps...

Bouclesdor
 

Discussions similaires

Réponses
5
Affichages
327

Statistiques des forums

Discussions
315 126
Messages
2 116 490
Membres
112 763
dernier inscrit
issam2020