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

  • Initiateur de la discussion Initiateur de la discussion bouclesdor
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
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!
 
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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
332
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
213
Réponses
16
Affichages
947
  • Question Question
Microsoft 365 Excel VBA
Réponses
5
Affichages
339
Réponses
3
Affichages
518
Retour