IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Comment Empêcher l'affichage des feuilles masquées avant l'activation des macros ?


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Comment Empêcher l'affichage des feuilles masquées avant l'activation des macros ?
    Bonjour,

    J'ai un classeur avec des feuilles masquées par VBA.
    Toutes mes feuilles sont protégées ainsi que le classeur.
    Mon problème est à l'ouverture du classeur, quand Excel me demande si j'accepte l'activation des macros, à ce moment là, toutes les feuilles sont visible et l'on peut tous les lire.
    Si je répond OUI, alors je tombe bien sur la feuille Accueil et les autres feuilles sont alors bine masquées.
    comment peut-on faire pour que les feuilles soient masquées même si l'activation des macros n'est pas encore validé ???

    Merci pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Est-ce que tu masques tes feuilles par le code, où est-ce qu'elles sont toujours masquées ?

    Philippe

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonjour Philippe,

    Oui tous ce fait depuis VBA.
    Lors de la fermeture du classeur, j'ai une macro qui masque toutes les feuilles sauf la feuille Accueil.
    A l'ouverture du classeur, dans le Thisworkbook je lui fait masquer de nouveau toutes les feuilles sauf Acceuil, ensuite je fait lancer l'userform "Identification" avec un identifiant et un mot de passe.

    Merci pour votre aide.
    yao

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Masque tes feuilles à la fermeture et enregistre le classeur avant de le fermer.

    Philippe

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Re Philippe,

    Merci pour cette solution, mais çà vas pas marcher.
    En faite nous sommes plusieurs à utiliser le classeur et j'ai une feuille "Autorisations" dans laquelle j'autorise suivant les utilisateurs l'accès à certaines feuilles.
    Donc je peux avoir des feuilles déverrouillées pour tels ou tels personnes.
    La macro vas lire dans la feuille "Autorisation" les feuilles à déverrouiller en fonction de l'utilisateur et de sont mot de passe et les reverrouillent à la fermeture du classeur.

    Mon problème est avant l'affichage de l'userform "Identification", même avant d'avoir autorisé l'activation des macros.
    A ce moment là toutes les feuilles sont visible et de ce faite, la feuille "Autorisation" où j'ai tous les mots de passe est visible par tous.

    As-tu une idée pour m'aider ?

    Merci pour ton aide.
    yao

  6. #6
    Membre régulier Avatar de Excel_man
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Points : 89
    Points
    89
    Par défaut
    Bonjour,
    La solution de Philippe fonctionne très bien et je l'utilise aussi, je masque en xlVeryHidden pour qu'elles ne soient "démasquable" que par VBA. Je ne sais si tu peux mettre en xlHidden la feuille contenant les autorisations (a essayer si tu veux être sur que personne ne puisse y jeter un oeil). Tu peux aussi utiliser le nom d'utilisateur Environ(UserName") pour gerer les autorisations.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Call Verrouiller
    End Sub
     
    Private Sub Workbook_Open()
    Call Verrouiller 'Permet la protection de tout les onglets
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub Verrouiller()
    'Masque l'ensemble des feuilles réservées
    Dim Sht As Worksheet
     
    For Each Sht In Worksheets 'Protège tout les onglets
        With Worksheets(Sht.Name)
             .Visible = xlVeryHidden
        End With
    Next Sht
    Sheets("Autorisations").Visible = xlHidden
    Sheets("Acceuil").Visible = True
    End Sub

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/02/2014, 14h28
  2. Comment empécher l'affichage de 2 formulaire identique
    Par AndreDvl dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/12/2007, 21h46
  3. comment empêcher l'affichage de l'adresse ip lors d'un ping ?
    Par vacknov dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 25/09/2007, 18h03
  4. Comment empècher l'affichage de la barre des taches
    Par yannjoe dans le forum VB 6 et antérieur
    Réponses: 21
    Dernier message: 08/08/2007, 14h17
  5. [VBA-E] Lancement de la macro avant l'ouverture des feuilles
    Par repié dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/02/2006, 16h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo