XL 2016 Bloquer avec une macro l accès a masquer /afficher la feuille du ruban excel

berru76

XLDnaute Occasionnel
Bonjour dans le fichier joint selon le nombre d'inscrits en cliquant sur accès concours je vais a la feuille correspondante
peut on empêcher ou verrouiller l' accès aux feuilles depuis le ruban du fichier Excel (via accueil /format /masquer afficher) afin de ne laisser l'accès d'une feuille que par le bouton "accès concours" avec une macro
Merci

Merci
 

Pièces jointes

  • Afficher feuilles.xlsm
    83.3 KB · Affichages: 9
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Dans le code ci dessous, remplacez toto par le nom de la feuille qui reste toujours affichée :
VB:
Nom = "toto" ' mettre le nom de la feuille toujours active
For Each Feuille In Worksheets
    If Feuille.Name <> Nom Then
        Feuille.Visible = xlSheetVeryHidden
    End If
Next Feuille
Tous vos onglets sont inaccessibles sauf "toto". Le seul moyen de les visualiser est de modifier leur statut Visible dans leurs propriétés par VBA.
Et pour rendre visible une feuille :
Code:
Sheets("NomFeuille").Visible = True
 

berru76

XLDnaute Occasionnel
excusez moi je me suis mal exprimé
C'est l' accès aux feuilles dans le ruban du fichier Excel (via accueil /format /masquer afficher) que je voudrais verrouiller afin de ne laisser l'accès d'une feuille que par le bouton "accès concours"
Merci
 
Dernière édition:

berru76

XLDnaute Occasionnel
comme je vous ai dis je suis débutant en vba je ne me suis lancer a essayer de faire ces concours que depuis un an je comprend mieux avec des exemples grâce a vos aides il sont finis il ne me reste que que deux petites finitions après celle ci qui fonctionne bien
Si je n'abuse pas de trop si vous pouvez m'aider
je voudrais pouvoir enregistrer par macro ce fichier avec le nom / date /
Un grand merci
 

Pièces jointes

  • Afficher feuilles.xlsm
    95.3 KB · Affichages: 2

berru76

XLDnaute Occasionnel
Malheureusement encore un problème comment rajouter la feuille noms et Mode d'emploi visibles aussi

Sub Affiche()
For Each Feuille In Worksheets
If Feuille.Name <> "Inscriptions" Then
Feuille.Visible = xlSheetVeryHidden
End If
Next Feuille
Sheets(Application.Caller).Visible = True
Sheets(Application.Caller).Activate
End Sub

Merci
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
1- C'est la deuxième fois que vous fournissez des fichiers dont le VBA est protégé.
Et à ma question du post #2 vous n'avez pas fourni le mot de passe.
2- Pas de réponse sur le test du post #6. Dommage pour moi.
3- Pour l'enregistrement, testez :
VB:
Chemin = "C:\Users\user\Desktop\"
NomFichier = Split(ThisWorkbook.Name, ".")(0)
ThisWorkbook.SaveAs Chemin & NomFichier & "_ " & Format(Date, "dd-mm-yyyy") & ".xls"
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Juste pour rappel,
1- On utilise les balises </> pour le code c'est plus lisible ( entre GIF et " dans la barre d'outil )
2- On donne le résultat d'un test pour que le contributeur sache s'il a bossé pour quelque chose ou pour rien, ou s'il n'a rien compris.
3- On met un problème par post. En cas de second problème on ouvre un nouveau post.
 

berru76

XLDnaute Occasionnel
Merci pour ces remarques je ferai attention a cela
Jai teste la ligne pour les noms et mode d'emploi m'indique une erreur
Je rejoint le fichier dont j'ai enlevé les protections
Je vais tester pour enregistrer sous
Merci de votre patience
 

Pièces jointes

  • Afficher feuilles.xlsm
    95.5 KB · Affichages: 2

sylvanu

XLDnaute Barbatruc
Supporter XLD
Vous avez recopié des choses sans les comprendre.
Application.caller envoie le bouton sur lequel vous avez appuyez. Dans votre fichier cela ne correspond à rien.
Ensuite le module Worksheet_Activate doit être implanté dans les trois feuilles visibles.
 

Pièces jointes

  • Afficher feuilles (1).xlsm
    87 KB · Affichages: 5

Discussions similaires

Statistiques des forums

Discussions
312 111
Messages
2 085 400
Membres
102 883
dernier inscrit
jameseyz