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 :

Vérouiller des feuilles [VBA-E]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2007
    Messages : 12
    Par défaut Vérouiller des feuilles [VBA-E]
    Bonjour à tous,

    Je souhaiterais rendre 2 feuilles totalement confidentielles. Je sais seulement créer un bouton qui demande par la suite un mot de passe. Mais je préfèrerais que les onglets de ses 2 feuilles soit masqués, qu'une manip (ex : Crtl+Maj+A) nous demande un mot de passe et que si le mot de passe est juste on peut y accéder. Est-ce possible de faire cela ?
    De plus, peut on vérouiller ces codes VBA ?

    Merci

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu peux peux effectivement masquer tes feuilles. Pour ça enregistre la macro en faisant.
    Pour le Ctrl + Maj + A, tu peux affecter des touches de fonction à une macro
    Regarde la méthode OnKey, dans l'aide, tu as la syntaxe.
    pour le mot de passe, tu ouvres un userform pour le réclamer. S'il est bon, tu affiches tes feuilles depuis l'userform et tu le quittes (l'userform)
    Pour la protection des macros, dans l'éditeur VB, tu vas dans outils -> Propriétés de VBAPROJECT -> Protection
    Pour remplacer les caractères que tu frappes par des étoiles quand tu saisis ton mot de passe, y'a ça aussi

  3. #3
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2007
    Messages : 12
    Par défaut
    Merci ça m'aide beaucoup.
    J'ai juste une autre question comment je peux dire à Excel que si une personne tente de faire Format->Feuille->Afficher c'est à ce moment, juste avant qu'apparaîssent les onglets, qu'il m'affiche mon Userform3. Je met où le code (car ça peut avoir lieu à n'importe quel moment sur n'importe quel feuille) ? Et je dis quoi ? Le code affiche les feuilles alors que moi je ne souhaite pas qu'il me les affiche. Je veux qu'il demande le mot de passe sur mon userform.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets("Plan").Visible = True
    Sheets("Source").Visible = True
    J'ai déjà mis mon Userform avec les manip clavier mais j'aimerais qu'il s'affiche aussi dans ce cas là.

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Dans l'événement activate de la feuille ou des feuilles concernées
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Worksheet_Activate()
        Load UserForm1
        UserForm1.Show
    End Sub
    Editeur VB deux clics sur le nom de la feuille... Tu colles

  5. #5
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2007
    Messages : 12
    Par défaut
    Merci ça fonctionne nickel. En fait, au début j'avais bien mis mon code à la bonne place mais j'affichais mon userform sur une autre page puis si le mot de passe était bon retournait sur la bonne page ce qui réafffichait la demande de mot de passe et ainsi de suite. Donc forcement ça fonctionnait pas comme je voulais.
    Maintenant, j'ai un autre problème c'est que si la personne clique sur la croix de mon userform (cad ferme mon userform), elle accède tout de même à la page. Peut-on mettre un code à cette croix ? Si oui, où ?

  6. #6
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2007
    Messages : 12
    Par défaut
    J'ai trouvé la solution à mon problème ! C'est le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Source").Visible = xlSheetVeryHidden
    De cette façon, l'utilisateur ne peut pas passer par Format-Feuille-Afficher car la feuille Source n'apparait pas dans le tableau des feuilles à afficher. La seule façon de pouvoir l'afficher est de passer par ma manipulation clavier et d'avoir ensuite le mot de passe. De plus, j'ai bloquer l'accès à cette feuille si les macros sont désactivées.
    J'espère que ça pourrat aussi aider d'autres personnes.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Nom des feuilles VBA
    Par Pigloox dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/01/2014, 13h00
  2. Réponses: 2
    Dernier message: 16/07/2007, 14h54
  3. [VBA-E] liste des feuilles
    Par repié dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 17/02/2006, 17h27
  4. [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
  5. [VBA] [Excel] Selection des feuilles
    Par KOFJCH dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/12/2005, 18h18

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