Bonsoir
Ya t il moyen de metter une protection et de l'oter d'un seul coup à toutes
les feuilles d'un fichier.
J'ai une feuille par jour (donc 31) et chaque fois que je fais une modif je
dois pour chacune oter la protection, la modifier et la reprotéger. C'est
lourd .....
S'il y a une astuce, par avance merci.
Cordialement
Jean-Claude
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
LSteph
Bonsoir, oui
'****dans module standard**** Sub ProtgTout() Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.Protect "modpass" Next End Sub
Sub DProtgTout() Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.Unprotect "modpass" Next End Sub '********************
'lSteph
"jcp" a écrit dans le message de news: 42a77719$0$1237$
Bonsoir Ya t il moyen de metter une protection et de l'oter d'un seul coup à toutes les feuilles d'un fichier. J'ai une feuille par jour (donc 31) et chaque fois que je fais une modif je dois pour chacune oter la protection, la modifier et la reprotéger. C'est lourd ..... S'il y a une astuce, par avance merci. Cordialement Jean-Claude
Bonsoir,
oui
'****dans module standard****
Sub ProtgTout()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
sh.Protect "modpass"
Next
End Sub
Sub DProtgTout()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
sh.Unprotect "modpass"
Next
End Sub
'********************
'lSteph
"jcp" <jcp66@wanadoo.fr> a écrit dans le message de news:
42a77719$0$1237$8fcfb975@news.wanadoo.fr...
Bonsoir
Ya t il moyen de metter une protection et de l'oter d'un seul coup à
toutes les feuilles d'un fichier.
J'ai une feuille par jour (donc 31) et chaque fois que je fais une modif
je dois pour chacune oter la protection, la modifier et la reprotéger.
C'est lourd .....
S'il y a une astuce, par avance merci.
Cordialement
Jean-Claude
'****dans module standard**** Sub ProtgTout() Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.Protect "modpass" Next End Sub
Sub DProtgTout() Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.Unprotect "modpass" Next End Sub '********************
'lSteph
"jcp" a écrit dans le message de news: 42a77719$0$1237$
Bonsoir Ya t il moyen de metter une protection et de l'oter d'un seul coup à toutes les feuilles d'un fichier. J'ai une feuille par jour (donc 31) et chaque fois que je fais une modif je dois pour chacune oter la protection, la modifier et la reprotéger. C'est lourd ..... S'il y a une astuce, par avance merci. Cordialement Jean-Claude
jcp
Merci beaucoup cordialement Jean-Claude
"LSteph" a écrit dans le message de news: %
Bonsoir, oui
'****dans module standard**** Sub ProtgTout() Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.Protect "modpass" Next End Sub
Sub DProtgTout() Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.Unprotect "modpass" Next End Sub '********************
'lSteph
"jcp" a écrit dans le message de news: 42a77719$0$1237$
Bonsoir Ya t il moyen de metter une protection et de l'oter d'un seul coup à toutes les feuilles d'un fichier. J'ai une feuille par jour (donc 31) et chaque fois que je fais une modif je dois pour chacune oter la protection, la modifier et la reprotéger. C'est lourd ..... S'il y a une astuce, par avance merci. Cordialement Jean-Claude
Merci beaucoup
cordialement
Jean-Claude
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
%23lrMb5HbFHA.2768@tk2msftngp13.phx.gbl...
Bonsoir,
oui
'****dans module standard****
Sub ProtgTout()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
sh.Protect "modpass"
Next
End Sub
Sub DProtgTout()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
sh.Unprotect "modpass"
Next
End Sub
'********************
'lSteph
"jcp" <jcp66@wanadoo.fr> a écrit dans le message de news:
42a77719$0$1237$8fcfb975@news.wanadoo.fr...
Bonsoir
Ya t il moyen de metter une protection et de l'oter d'un seul coup à
toutes les feuilles d'un fichier.
J'ai une feuille par jour (donc 31) et chaque fois que je fais une modif
je dois pour chacune oter la protection, la modifier et la reprotéger.
C'est lourd .....
S'il y a une astuce, par avance merci.
Cordialement
Jean-Claude
'****dans module standard**** Sub ProtgTout() Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.Protect "modpass" Next End Sub
Sub DProtgTout() Dim sh As Worksheet For Each sh In ActiveWorkbook.Worksheets sh.Unprotect "modpass" Next End Sub '********************
'lSteph
"jcp" a écrit dans le message de news: 42a77719$0$1237$
Bonsoir Ya t il moyen de metter une protection et de l'oter d'un seul coup à toutes les feuilles d'un fichier. J'ai une feuille par jour (donc 31) et chaque fois que je fais une modif je dois pour chacune oter la protection, la modifier et la reprotéger. C'est lourd ..... S'il y a une astuce, par avance merci. Cordialement Jean-Claude
Oliv'
Voici une autre solution, qui permet de deproteger seulement si on connait le mot de passe de l'une des feuilles ici "COMPTE" il faut bien sûr que le mot de passe soit le même sur toutes les feuilles mais c'est géré à la fermeture
il faut mettre tout cela dans ThisWorkbook :
'REMPLACER "COMPTE" PAR LE NOM DE TA FEUILLE PRINCIPALE ou par "feuil1" Private Sub Workbook_Open() Sub sup_protection() Worksheets("Compte").Activate Application.CommandBars.FindControl(ID:3).Execute If Worksheets("Compte").ProtectContents = False Then For i = 1 To Sheets.Count Sheets(i).Unprotect "TOTO" Next End If End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean) Enregistrer = MsgBox("Voulez-vous enregistrer les modifications ?", vbYesNo + vbQuestion) If Enregistrer = 6 Then For i = 1 To Sheets.Count Do While Sheets(i).ProtectContents = False Sheets(i).Activate nom = ActiveSheet.Name ActiveSheet.Protect Password:="TOTO", Scenarios:=True, UserInterfaceOnly:=True MsgBox "la feuille " & nom & " a été protégée avant fermeture AVEC UN MOT DE PASSE" On Error Resume Next ActiveSheet.Unprotect "" On Error GoTo 0 Loop Next Save Else: ThisWorkbook.Saved = True End If End Sub
Il faut bien sûr protéger ton code vbe par un mot de passe.
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Pour me joindre : http://cerbermail.com/?V8r2o1YHl4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"jcp" a écrit dans le message de news: 42a77719$0$1237$
Bonsoir Ya t il moyen de metter une protection et de l'oter d'un seul coup à toutes les feuilles d'un fichier. J'ai une feuille par jour (donc 31) et chaque fois que je fais une modif je dois pour chacune oter la protection, la modifier et la reprotéger. C'est lourd ..... S'il y a une astuce, par avance merci. Cordialement Jean-Claude
Voici une autre solution, qui permet de deproteger seulement si on connait
le mot de passe de l'une des feuilles ici "COMPTE" il faut bien sûr que le
mot de passe soit le même sur toutes les feuilles mais c'est géré à la
fermeture
il faut mettre tout cela dans ThisWorkbook :
'REMPLACER "COMPTE" PAR LE NOM DE TA FEUILLE PRINCIPALE ou par "feuil1"
Private Sub Workbook_Open()
Sub sup_protection()
Worksheets("Compte").Activate
Application.CommandBars.FindControl(ID:3).Execute
If Worksheets("Compte").ProtectContents = False Then
For i = 1 To Sheets.Count
Sheets(i).Unprotect "TOTO"
Next
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Enregistrer = MsgBox("Voulez-vous enregistrer les modifications ?", vbYesNo
+ vbQuestion)
If Enregistrer = 6 Then
For i = 1 To Sheets.Count
Do While Sheets(i).ProtectContents = False
Sheets(i).Activate
nom = ActiveSheet.Name
ActiveSheet.Protect Password:="TOTO", Scenarios:=True,
UserInterfaceOnly:=True
MsgBox "la feuille " & nom & " a été protégée avant fermeture AVEC UN
MOT DE PASSE"
On Error Resume Next
ActiveSheet.Unprotect ""
On Error GoTo 0
Loop
Next
Save
Else: ThisWorkbook.Saved = True
End If
End Sub
Il faut bien sûr protéger ton code vbe par un mot de passe.
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"jcp" <jcp66@wanadoo.fr> a écrit dans le message de news:
42a77719$0$1237$8fcfb975@news.wanadoo.fr...
Bonsoir
Ya t il moyen de metter une protection et de l'oter d'un seul coup à
toutes les feuilles d'un fichier.
J'ai une feuille par jour (donc 31) et chaque fois que je fais une
modif je dois pour chacune oter la protection, la modifier et la
reprotéger. C'est lourd .....
S'il y a une astuce, par avance merci.
Cordialement
Jean-Claude
Voici une autre solution, qui permet de deproteger seulement si on connait le mot de passe de l'une des feuilles ici "COMPTE" il faut bien sûr que le mot de passe soit le même sur toutes les feuilles mais c'est géré à la fermeture
il faut mettre tout cela dans ThisWorkbook :
'REMPLACER "COMPTE" PAR LE NOM DE TA FEUILLE PRINCIPALE ou par "feuil1" Private Sub Workbook_Open() Sub sup_protection() Worksheets("Compte").Activate Application.CommandBars.FindControl(ID:3).Execute If Worksheets("Compte").ProtectContents = False Then For i = 1 To Sheets.Count Sheets(i).Unprotect "TOTO" Next End If End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean) Enregistrer = MsgBox("Voulez-vous enregistrer les modifications ?", vbYesNo + vbQuestion) If Enregistrer = 6 Then For i = 1 To Sheets.Count Do While Sheets(i).ProtectContents = False Sheets(i).Activate nom = ActiveSheet.Name ActiveSheet.Protect Password:="TOTO", Scenarios:=True, UserInterfaceOnly:=True MsgBox "la feuille " & nom & " a été protégée avant fermeture AVEC UN MOT DE PASSE" On Error Resume Next ActiveSheet.Unprotect "" On Error GoTo 0 Loop Next Save Else: ThisWorkbook.Saved = True End If End Sub
Il faut bien sûr protéger ton code vbe par un mot de passe.
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Pour me joindre : http://cerbermail.com/?V8r2o1YHl4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"jcp" a écrit dans le message de news: 42a77719$0$1237$
Bonsoir Ya t il moyen de metter une protection et de l'oter d'un seul coup à toutes les feuilles d'un fichier. J'ai une feuille par jour (donc 31) et chaque fois que je fais une modif je dois pour chacune oter la protection, la modifier et la reprotéger. C'est lourd ..... S'il y a une astuce, par avance merci. Cordialement Jean-Claude
Laurent B.
"jcp" a écrit:
Bonsoir
Bonjour,
Ya t il moyen de metter une protection et de l'oter d'un seul coup à toutes les feuilles d'un fichier. J'ai une feuille par jour (donc 31) et chaque fois que je fais une modif je dois pour chacune oter la protection, la modifier et la reprotéger. C'est lourd .....
Essaye cette macro, donnée ici-même il y a quelques semaines par Stéphane L, sur une idée de Patrick BASTARD. Je l'utilise sur plusieurs de mes classeurs et ça fonctionne parfaitement. Il suffit que tu remplaces les *MDP* par ton mot de passe:
Sub protege() Dim Sh As Worksheet Application.ScreenUpdating = False
For Each Sh In ThisWorkbook.Sheets Sh.Protect (MDP), DrawingObjects:=True, Contents:=True, Scenarios:=True
Next Sh Application.EnableEvents = True Application.ScreenUpdating = False End Sub
Sub deprotege() Dim okPswd As Boolean Dim Sh As Worksheet
okPswd = GetPassword("MDP", 3) ' MsgBox okPswd If okPswd Then Application.ScreenUpdating = False
For Each Sh In ThisWorkbook.Sheets Sh.Unprotect (MDP) Next Sh
Else End If
End Sub
Function GetPassword(CorrectPswd As String, MaxTimes As Long) As Boolean 'Dave Peterson, mpep Dim Pswd As String Dim essais As Long essais = 1 GetPassword = False Do Pswd = InputBox("Essai n°" & essais & " sur " & MaxTimes _ & ". Mot de passe?", _ "Saisie du mot de passe") If Pswd = "" Then Exit Function End If If Pswd <> CorrectPswd Then essais = essais + 1 If essais <= MaxTimes Then MsgBox "Erreur !" End If Else GetPassword = True 'MsgBox "Mot de passe correct !" Exit Function End If Loop Until essais > MaxTimes End Function
S'il y a une astuce, par avance merci.
De rien.
-- Laurent
"jcp" a écrit:
Bonsoir
Bonjour,
Ya t il moyen de metter une protection et de l'oter
d'un seul coup à toutes les feuilles d'un fichier.
J'ai une feuille par jour (donc 31) et chaque fois
que je fais une modif je dois pour chacune oter la
protection, la modifier et la reprotéger. C'est
lourd .....
Essaye cette macro, donnée ici-même il y a quelques semaines par Stéphane L,
sur une idée de Patrick BASTARD.
Je l'utilise sur plusieurs de mes classeurs et ça fonctionne parfaitement.
Il suffit que tu remplaces les *MDP* par ton mot de passe:
Sub protege()
Dim Sh As Worksheet
Application.ScreenUpdating = False
For Each Sh In ThisWorkbook.Sheets
Sh.Protect (MDP), DrawingObjects:=True, Contents:=True,
Scenarios:=True
Next Sh
Application.EnableEvents = True
Application.ScreenUpdating = False
End Sub
Sub deprotege()
Dim okPswd As Boolean
Dim Sh As Worksheet
okPswd = GetPassword("MDP", 3)
' MsgBox okPswd
If okPswd Then
Application.ScreenUpdating = False
For Each Sh In ThisWorkbook.Sheets
Sh.Unprotect (MDP)
Next Sh
Else
End If
End Sub
Function GetPassword(CorrectPswd As String, MaxTimes As Long) As Boolean
'Dave Peterson, mpep
Dim Pswd As String
Dim essais As Long
essais = 1
GetPassword = False
Do
Pswd = InputBox("Essai n°" & essais & " sur " & MaxTimes _
& ". Mot de passe?", _
"Saisie du mot de passe")
If Pswd = "" Then
Exit Function
End If
If Pswd <> CorrectPswd Then
essais = essais + 1
If essais <= MaxTimes Then
MsgBox "Erreur !"
End If
Else
GetPassword = True
'MsgBox "Mot de passe correct !"
Exit Function
End If
Loop Until essais > MaxTimes
End Function
Ya t il moyen de metter une protection et de l'oter d'un seul coup à toutes les feuilles d'un fichier. J'ai une feuille par jour (donc 31) et chaque fois que je fais une modif je dois pour chacune oter la protection, la modifier et la reprotéger. C'est lourd .....
Essaye cette macro, donnée ici-même il y a quelques semaines par Stéphane L, sur une idée de Patrick BASTARD. Je l'utilise sur plusieurs de mes classeurs et ça fonctionne parfaitement. Il suffit que tu remplaces les *MDP* par ton mot de passe:
Sub protege() Dim Sh As Worksheet Application.ScreenUpdating = False
For Each Sh In ThisWorkbook.Sheets Sh.Protect (MDP), DrawingObjects:=True, Contents:=True, Scenarios:=True
Next Sh Application.EnableEvents = True Application.ScreenUpdating = False End Sub
Sub deprotege() Dim okPswd As Boolean Dim Sh As Worksheet
okPswd = GetPassword("MDP", 3) ' MsgBox okPswd If okPswd Then Application.ScreenUpdating = False
For Each Sh In ThisWorkbook.Sheets Sh.Unprotect (MDP) Next Sh
Else End If
End Sub
Function GetPassword(CorrectPswd As String, MaxTimes As Long) As Boolean 'Dave Peterson, mpep Dim Pswd As String Dim essais As Long essais = 1 GetPassword = False Do Pswd = InputBox("Essai n°" & essais & " sur " & MaxTimes _ & ". Mot de passe?", _ "Saisie du mot de passe") If Pswd = "" Then Exit Function End If If Pswd <> CorrectPswd Then essais = essais + 1 If essais <= MaxTimes Then MsgBox "Erreur !" End If Else GetPassword = True 'MsgBox "Mot de passe correct !" Exit Function End If Loop Until essais > MaxTimes End Function