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 :

Cacher les données d'une feuille


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2019
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 24
    Points : 8
    Points
    8
    Par défaut Cacher les données d'une feuille
    Bonsoir,

    J'aimerais savoir il y a-t-il un moyen de cacher les données d'une feuille .
    En fait, j'ai un fichier qui contient plusieurs feuilles et je voudrais cacher les données d'une feuille par mot de passe avant de le partager sur le réseau.
    Je souhaiterais dés l'ouverture de cette feuille, une demande de mot de passe sera obligatoire pour que uniquement les utilisateurs concernés puissent voir le contenu de cette feuille.

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 265
    Points
    34 265
    Par défaut
    Bonjour,

    le sujet étant assez large, je suggère un peu de littérature :
    https://laurent-ott.developpez.com/t...vba-tome-5/#LI
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut.

    deux solutions:
    • Masquer la feuille puis dans l'onglet Révision > Protéger le classeur, saisir un mot de passe. La structure du classeur ne pourra plus être modifiée sans mot de passe. Il ne sera donc plus possible d'ajouter ou de supprimer des feuilles, ni d'en afficher ou d'en masquer sans d'abord ôter la protection;
    • Passer dans l'éditeur VBA et, dans la fenêtre de l'arborescence du projet, cliquer sur la feuille à protéger. Dans ses propriétés (F4 si non visibles), choisir Visible = xlVeryHidden. Il faut alors protéger le code par mot de passe (clic droit sur le projet, Propriétés, Protection, et saisir le mot de passe). A la prochaine ouverture, le code ne sera plus accessible que par mot de passe, et il sera nécessaire d'accéder au code pour rendre à nouveau la feuille visible pour la modifier manuellement.



    Ces "protections" peuvent sauter en 10 secondes grâce à des logiciels que l'on peut trouver sur le net.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 914
    Points : 5 121
    Points
    5 121
    Par défaut
    Bonjour DJO2020, le forum

    Je sais pas si ma proposition va t'aider ou non ...d'ailleurs je suis qu'un autodidacte VBA ... aussi j'ai pas testé la proposition sur un réseau multi-utilisateurs
    donc à tester avec prudence
    Je propose de masquer, à l'ouverture du fichier, toutes les onglets à l'exception de la feuille nommée BASE et en même temps désactiver le clic droite souris pour empêcher l'affichage de l'onglet souhaité via le souris. Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Workbook_Open()
    Application.CommandBars("Ply").Enabled = False
     Dim sh As Worksheet
     For Each sh In ThisWorkbook.Worksheets
      With sh
       If Not .Name = "BASE" Then .Visible = False
      End With
     Next
    End Sub
    activé le mode clic droite souris lors de la fermeture de fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.CommandBars("Ply").Enabled = True
    End Sub
    Sur l'onglet base tu insère des bouton pour chacun clic sur l'onglet souhaité en ce moment il recevra un input box pour saisir le mot de passe et si le mot de passe est correcte il accède à l'onglet souhaité si non un message box lui demandant de contacter l'administrateur de base des données
    code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Bouton1_Cliquer()
    Dim VALEUR As String
    MotDePasse = Application.InputBox("merci de saisir votre mot de passe : ", "titre le l'inputbox", , , , , , 3)
    If MotDePasse = "PPPP" Then
    Sheets("PRODUCTION").Visible = True
    Sheets("PRODUCTION").Select
    Else
    MsgBox "Mot de passe invalide...veuillez contacter l'administrateur de la base des données"
    End If
    End Sub
    dans l'exemple ci joint l'accès à l'onglet PRODUCTION mot de passe "PPPP"
    l'onglet COMMERCIAL mot de passe "CCCC"
    Fichiers attachés Fichiers attachés
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/10/2007, 12h00
  2. Triez les données d'une feuille
    Par lolo1664 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/08/2007, 16h02
  3. Réponses: 3
    Dernier message: 31/01/2007, 17h46
  4. Réponses: 2
    Dernier message: 16/10/2006, 11h24
  5. 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

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