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 :

Masquer données d'une feuille verrouillée + Verrouillage automatique à la fermeture


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 27
    Par défaut Masquer données d'une feuille verrouillée + Verrouillage automatique à la fermeture
    Bonjour!

    J'ai une nouvelle question pour vous.

    J'ai un classeur qui contient plusieurs feuilles, dont une qui sont des mots de passe, qui doivent rester confidentiels (le reste du classeur est "public"). Le processus régulier de protection de la feuille masquée ne convient pas, puisque certains oublient de revérouiller la feuille, ou alors quelqu'un pourrait changer par mégarde le mot de passe.

    Y existerait-il une façon (sûrement une macro) qui me permettrait de rendre la feuille vide (qu'on voit, par exemple, seulement l'onglet, mais que rien n'apparaisse), et qu'à l'activation de la macro grâce au mot de passe, les données apparaissent, et lorsque le classeur est fermé, la feuille se reverrouille automatiquement si la personne oublie de le faire.

    Merci à l'avance de votre aide

    P.S. Je suis assez débutante, donc si vous parlez de macro, je vous remercierais infiniment d'être explicite

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,

    Il existe un possibilité sans macro, via l'éditeur visual basic (VBE) :
    - mettre la propriété visible de la feuille sur xlSheetVeryHidden
    - protéger le projet par un mot de passe (Outils / Propriétés du VBAproject)
    Enregistrer le fichier (il est sans macro).

    La feuille ne pourra être rendue visible qu'en passant par le VBE après avoir mis le mot de passe d'accès au projet

    Cordialement
    Patrice

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 27
    Par défaut
    Bonjour Patrice,

    Merci pour ta réponse, malheureusement j'avais déjà exploré cette avenue, mais ça s'avère trop compliqué pour les utilisateurs de la feuille.

    Il faudrait vraiment que lorsque les gens arrivent sur la feuille en question, il y ait une boîte/un bouton/un endroit xyz où cliquer pour déverrouiller la feuille, voir les données, et reverrouiller en sortant (et verrouillage auto si oubli).

    Merci,

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 27
    Par défaut
    Bonjour,

    À moins d'hallucination de ma part, Patrice m'a fourni ce lien pour m'aider:

    Je suis allée y faire un tour, mais j'ai un bog dans mon code (ligne en rouge), pourriez vous m'aider?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub AfficheFeuilles(Utilisateur As String)
    Dim Col As Byte, i As Byte, Lig As Integer
    
    With Sheets("paramétrage") 'dans la feuille paramétrage
        'comme on va boucler de la colonne 4 à la dernière colonne, on stocke le n° de la dern colonne :
        Col = .Cells(1, .Cells.Columns.Count).End(xlToLeft).Column
        'on cherche colonne A le nom d'utilisateur saisi et on stocke son num de ligne
        Lig = .Columns(1).Cells.Find(Utilisateur, lookat:=xlWhole).Row
        For i = 3 To Col
            If UCase(.Cells(Lig, i)) = "X" Then 'si on trouve un "X" dans la cellule
                Sheets(.Cells(1, i).Value).Visible = True 'on affiche la feuille
            Else
                Sheets(.Cells(1, i).Value).Visible = xlSheetVeryHidden 'sinon on la masque
            End If
        Next i
    End With
    End Sub
    J'ai mis le fichier en pièce-jointe pour vous faciliter la vie.

    Merci de votre aide!!
    Fichiers attachés Fichiers attachés

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    La feuille "Calendrier des événments" n'existe pas dans ton classeur... d'où l'erreur...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 27
    Par défaut
    Bonjour Parmi, mon éternel sauveur!

    En fait, la feuille calendrier et type de membership sont bien là, la feuille 3 et 4, je les vois quand je suis dans le VBA, mais pour une raison que j'ignore, elles n'apparaissent pas même si elles sont cochées pour l'utilisateur test, par exemple.

    J'ai essayé de créer une feuille "Calendrier des événements", et ça me fait un message d'erreur d'Excel: Impossible de renommer une feuille comme un autre feuille, une bibliothèque d'objets référencée ou un classeur référencé par Visual Basic".

    Un indice pour la solution à ce problème?

    Merci,

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

Discussions similaires

  1. Récupération automatique des données d'une feuille de saisie
    Par vieri dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 08/01/2009, 17h21
  2. Importer les données d'une feuille EXCEL
    Par codial dans le forum Bases de données
    Réponses: 4
    Dernier message: 05/02/2006, 09h07
  3. [VBA] Transmettre des données d'une feuille à l'autre
    Par Overflow64 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/12/2005, 09h58
  4. Réponses: 3
    Dernier message: 16/02/2005, 15h39
  5. [CR]Importer des données d'une feuille excel
    Par rolan dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 17/12/2004, 22h32

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