Protection de fichier Excel par VBA

jouv -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
Dans mon travail, je suis amené à enseigner une base de donnée sur excel. cette base est souvent corrompu par des utilisateurs indélicats : Je souhaiterai creer 3 types acces à cette base
pour les personne ne connaissant pas de mots de passe : la possibilité de consulter et de copier les données mais pas la possibité d'enregistrer
pour les personnes connaissant un mot passe qui leur permettent de consulter et de copier les données et le renseigner sur le feuille "base de donnée" les colonnes E, G, M,N. et enregistrer
Pour les personnes utilisant un autre mot et passe : aucun limitation action
Je pense que cela est possible grace VBA mais je n'ai malheureusemen tpas de connaissance dans ce dommaine
Merci d'avance de votre aide cela va me simplifier la vie

3 réponses

  1. néné
     
    Bonjour

    Tu peux enregistré ton fichier Excel en lecture seul

    voici comment procéder

    Fait "Fichier" puis "Enregister sous" puis "Outils" puis "Options générales"

    Coche "Lecture seule recommandée"

    mais ton "mot de passe protégeant ton document" puis ok

    lorsque tu va lancer le document , si le mot de passe n'est pas renseigné alors ton fichier sera en lecture seule

    Utilsfr
    http://utilsfr.new.fr
    Applications, Utilitaires, Macros, Fonctions, Formulaires, Graphiques Excel
    2
    1. néné
       
      Je me suis trompé

      ne coche pas lecture seule

      mais juste un mot de passe pour l'accés a l'écriture
      0
  2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour

    je le mets en application cette semaine

    Tu vas perdre ton temps car une protection ainsi conçue doit résister quelques minutes à ceux qui vont être frustrés par tes protections.

    Il suffit d'avoir une sauvegarde de la base et faire une initialisation en cas de dégradation par des utilisateurs indélicats.
    1
  3. jouv
     
    Merci de ton conseil
    j'ai déja utilisé cette solution. Mais cela n'est pas suffissant car les données non protégé en écriture peuvent l'être modifie par tous
    0
    1. néné
       
      voici 2 macros


      Private Sub Worksheet_Change(ByVal Target As Range) 'macro événementiel
      interdiresaisie Target, Range("a1:a10,c1:c20,g1")'Plage autorisée a adapter
      End Sub


      Sub interdiresaisie(lacellule As Range, plageautorisée As Range)
      If Intersect(lacellule, plageautorisée) Is Nothing Then
      MsgBox "Non autorisé a modifier"
      Application.EnableEvents = False
      Application.Undo
      Application.EnableEvents = True
      End If
      End Sub



      Protege ensuite ton project VBA
      ALT+F11
      puis Outils puis PropriétéS de VBAPROJECT PUIS ONGLET PROTECTION

      COCHE "verrouiller le project pour affichage

      saisi les mots de passe puis ok

      relance le fichier
      0