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 :)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
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
<sphincer@free.fr> a écrit dans le message de news:4087E6E8.941F0FDB@free.fr...
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 :)
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 :)