Protection de fichier Excel par VBA

Fermé
jouv - 25 nov. 2007 à 11:06
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 2 déc. 2007 à 12:54
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
A voir également:

3 réponses

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
Je me suis trompé

ne coche pas lecture seule

mais juste un mot de passe pour l'accés a l'écriture
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
2 déc. 2007 à 12:54
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
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
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