Clôturer une base de données

Fermé
Amar - 14 août 2019 à 16:30
 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.

4 réponses

Raymond PENTIER Messages postés 58761 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 décembre 2024 17 254
14 août 2019 à 16:46


Bonjour.

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


0
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 jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
14 août 2019 à 17:35
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
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 jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
Modifié le 14 août 2019 à 18:44
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
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