Clôturer une base de données

Amar -  
 Amar -
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.
A voir également:

4 réponses

Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 


Bonjour.

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


0
Amar
 
Parce que je veux que le classeur se verrouille automatiquement à la fermeture du classeur.
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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



0
Amar
 
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.
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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


@+
0
Amar
 
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.
0