Clôturer une base de données

- - Dernière réponse :  Amar - 15 août 2019 à 00:37
Bonjour,
j'ai une base de données excel notes d'examen.

Je voudrais maintenant une fois tout le travail(qui peut prendre plusieurs jours) est fait (c'est à dire saisie des notes, prénoms, nom, date naissance, etc...) que la session puisse être clôturée , aucune modification ne soit désormais plus possible sauf pour l'administrateur.

Et celà dès qu'on appuie sur un bouton VBA vous signalant un message du genre : est-ce que vous êtes sûr de clôturer votre session. Vous ne pourrez plus revenir en arrière.
Merci par avance de votre aide.
Afficher la suite 

4 réponses

Messages postés
49649
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
23 août 2019
10464
0
Merci


Bonjour.

Pourquoi un bouton VBA ?
Il suffit de protéger ou de chiffrer le classeur ...


Commenter la réponse de Raymond PENTIER
0
Merci
Parce que je veux que le classeur se verrouille automatiquement à la fermeture du classeur.
Commenter la réponse de Amar
Messages postés
6155
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2019
382
0
Merci
Bonjour,

a mettre dans ThisWorkbook:

Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
chiffrer
End Sub
Sub chiffrer()
'adapter le mot de passe
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & ThisWorkbook.Name, FileFormat:=xlOpenXMLWorkbookMacroEnabled, _
Password:="azerty", WriteResPassword:="azerty", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub



Bonjour,
Nous avons essayé ce code mais ça ne répond pas vraiment à notre préoccupation.
Car pour ouvrir le classeur un mot de passe est demandé.
Or nous voulons que le classeur s'ouvre sans mot de passe mais qu'il soit impossible de faire une quelconque modification.
Merci quand même.
cs_Le Pivert
Messages postés
6155
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2019
382 -
en protégeant les feuilles:

Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
proteger
End Sub
Sub proteger()
'Déclare la variable objet Worksheet
Dim Ws As Worksheet
'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris
'en compte.
'ThisWorkbook correspond à l'objet classeur contenant la macro
For Each Ws In ThisWorkbook.Worksheets
    'protege toutes les feuilles
    Ws.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Next Ws
 End Sub



il n'est pas demandé de mot de passe, il suffit de cliquer dans le ruban: Ôter la protection de la feuille pour y avoir accès!

Sinon mettre un mot de passe

 Ws.Protect Password:="azerty", AllowFiltering:=True


@+
Commenter la réponse de cs_Le Pivert
0
Merci
Bonsoir,
c'est à peu près cela.
Mais avec ce bout de code:
Ws.Protect Password:="azerty", AllowFiltering:=True

, on peut effacer les données! donc modification.
Commenter la réponse de Amar