OVH Cloud OVH Cloud

propriété lecture seule

1 réponse
Avatar
sphincer
Bonjour.

L'un de vous saurait-il comment protêger, déprotéger un fichier par
l'appel d'1 macro+mot de passe ?

Par exemple :

-> les fichiers classeur1.xls et classeurs2.xls sont protègés en
écriture. On peut les modifier, mais pas les sauver (propriété lecture
seule).

Ctrl+p (appel de la macro)
ribambelle (saisie du mot de passe)
-> les fichiers classeur1.xls et classeurs2.xls peuvent être modifiés et
sauvés, et un icone ou un message reste affiché (dans la barre de titre
ou autre) pour me dire que je suis en administrateur.
je modifie les données, je sauve.

Ctrl+p
-> les fichiers sont à nouveau protègés (lecture seule).
Je peux consulter les données, modifier le contenu des cellules, mais la
sauvegarde ne sera pas possible.

Macro qui m'a été donnée par Emcy :

'Macro à mettre dans this WorkBook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)

If Range("A1").Value <> "Passe" Then
Cancel = True
Else
Cancel = False
End If

End Sub


Ca marche, mais celà désactive "sauver" et "sauver sous"... je
souhaiterais que "sauver sous" puisse être possible :)

Merci.

1 réponse

Avatar
Michel Pierron
Bonsoir sphincer;

Private Sub Workbook_BeforeClose(Cancel As Boolean)
SetAttr ThisWorkbook.FullName, vbReadOnly
End Sub

Sub WbkAcces()
Const MDP As String = "Mézig"
Dim WordPass As String, i As Byte
OneMore:
i = i + 1
WordPass = InputBox("Entrez votre mot de passe !" _
, "Saisie mot de passe (essai " & i & ")")
If WordPass = "" Then Exit Sub
If Not WordPass = MDP Then
MsgBox "Mot de passe non valide (essai " & i & ") !", 64
If i = 3 Then Exit Sub
GoTo OneMore
Else
With ThisWorkbook
If GetAttr(.FullName) And vbReadOnly Then SetAttr .FullName, vbNormal
If .ReadOnly Then .ChangeFileAccess xlReadWrite
End If
End If
End Sub

MP

a écrit dans le message de news:
Bonjour.

L'un de vous saurait-il comment protêger, déprotéger un fichier par
l'appel d'1 macro+mot de passe ?

Par exemple :

-> les fichiers classeur1.xls et classeurs2.xls sont protègés en
écriture. On peut les modifier, mais pas les sauver (propriété lecture
seule).

Ctrl+p (appel de la macro)
ribambelle (saisie du mot de passe)
-> les fichiers classeur1.xls et classeurs2.xls peuvent être modifiés et
sauvés, et un icone ou un message reste affiché (dans la barre de titre
ou autre) pour me dire que je suis en administrateur.
je modifie les données, je sauve.

Ctrl+p
-> les fichiers sont à nouveau protègés (lecture seule).
Je peux consulter les données, modifier le contenu des cellules, mais la
sauvegarde ne sera pas possible.

Macro qui m'a été donnée par Emcy :

'Macro à mettre dans this WorkBook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)

If Range("A1").Value <> "Passe" Then
Cancel = True
Else
Cancel = False
End If

End Sub


Ca marche, mais celà désactive "sauver" et "sauver sous"... je
souhaiterais que "sauver sous" puisse être possible :)

Merci.