J'ai des macros dans une feuille qui fonctionne=20
correctement mais d=E8s que je prot=E8ge cette feuille en=20
v=E9rouillant certaines cellule un message d'erreur=20
('1004') m'emp=EAche de faire fonctionner mes macros. Je=20
suis sur Excel XP pro et je ne connais rien au VBA.
Qui pourrait me donner une solution ?
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
Denys
Bonsoir Bab,
J'ai eu le même problème que toi l'an dernier, et je te fais parvenir la réponse que m'a fourni Denis Michon... Ce gars-là, c'est un maitre.... Je l'utilise depuis...
Voici une procédure à mettre dans ton ThisWorkbook de ton classeur :
La procéure inclus toutes les opérations possible sur une feuille protégée que tu pourrais déclarer...
La commande doit être renouvelée à chaque ouverture du classeur c'est pourquoi elle est insérée dans la
procédure d'ouverture du classeur....Si tu veux que cela
s'applique à toutes les feuilles , tu fais une boucle sur l'ensemble de celles-ci.
L'une ou l'autre des procédures selon ce que tu veux faire :
Une feuille '--------------------------------- Private Sub Workbook Open() With Worksheets("Feuil1") ' .EnableAutoFilter = True ' .EnablePivotTable = True ' .EnableSelection = True ' .EnableCalculation = True ' .EnableOutlining = True .Protect Password:="toto", Contents:=True, DrawingObjects:=True, UserInterfaceOnly:=True End With End Sub
Toutes les feuilles du classeur '--------------------------------- Private Sub Workbook Open() Dim Sh As Worksheet For Each Sh In Worksheets 'sh.EnableAutoFilter = True 'sh.EnablePivotTable = True 'sh.EnableSelection = True 'sh.EnableCalculation = True 'sh.EnableOutlining = True Sh.Protect Password:="toto", Contents:=True,
DrawingObjects:=True, UserInterfaceOnly:=True Next End Sub '---------------------------------
Salutations!
Essaie cela...Tu vas voir, c'est brillant.....Fini les Run Time error....
Salut
Denys
Bonsoir Bab,
J'ai eu le même problème que toi l'an dernier, et je te
fais parvenir la réponse que m'a fourni Denis Michon...
Ce gars-là, c'est un maitre.... Je l'utilise depuis...
Voici une procédure à mettre dans ton ThisWorkbook
de ton classeur :
La procéure inclus toutes les opérations possible sur
une feuille protégée que tu pourrais déclarer...
La commande doit être renouvelée à chaque ouverture du
classeur c'est pourquoi elle est insérée dans la
procédure d'ouverture du classeur....Si tu veux que cela
s'applique à toutes les feuilles , tu fais une boucle
sur l'ensemble de celles-ci.
L'une ou l'autre des procédures selon ce que tu veux
faire :
Une feuille
'---------------------------------
Private Sub Workbook Open()
With Worksheets("Feuil1")
' .EnableAutoFilter = True
' .EnablePivotTable = True
' .EnableSelection = True
' .EnableCalculation = True
' .EnableOutlining = True
.Protect Password:="toto", Contents:=True,
DrawingObjects:=True, UserInterfaceOnly:=True
End With
End Sub
Toutes les feuilles du classeur
'---------------------------------
Private Sub Workbook Open()
Dim Sh As Worksheet
For Each Sh In Worksheets
'sh.EnableAutoFilter = True
'sh.EnablePivotTable = True
'sh.EnableSelection = True
'sh.EnableCalculation = True
'sh.EnableOutlining = True
Sh.Protect Password:="toto",
Contents:=True,
DrawingObjects:=True, UserInterfaceOnly:=True
Next
End Sub
'---------------------------------
Salutations!
Essaie cela...Tu vas voir, c'est brillant.....Fini les
Run Time error....
J'ai eu le même problème que toi l'an dernier, et je te fais parvenir la réponse que m'a fourni Denis Michon... Ce gars-là, c'est un maitre.... Je l'utilise depuis...
Voici une procédure à mettre dans ton ThisWorkbook de ton classeur :
La procéure inclus toutes les opérations possible sur une feuille protégée que tu pourrais déclarer...
La commande doit être renouvelée à chaque ouverture du classeur c'est pourquoi elle est insérée dans la
procédure d'ouverture du classeur....Si tu veux que cela
s'applique à toutes les feuilles , tu fais une boucle sur l'ensemble de celles-ci.
L'une ou l'autre des procédures selon ce que tu veux faire :
Une feuille '--------------------------------- Private Sub Workbook Open() With Worksheets("Feuil1") ' .EnableAutoFilter = True ' .EnablePivotTable = True ' .EnableSelection = True ' .EnableCalculation = True ' .EnableOutlining = True .Protect Password:="toto", Contents:=True, DrawingObjects:=True, UserInterfaceOnly:=True End With End Sub
Toutes les feuilles du classeur '--------------------------------- Private Sub Workbook Open() Dim Sh As Worksheet For Each Sh In Worksheets 'sh.EnableAutoFilter = True 'sh.EnablePivotTable = True 'sh.EnableSelection = True 'sh.EnableCalculation = True 'sh.EnableOutlining = True Sh.Protect Password:="toto", Contents:=True,
DrawingObjects:=True, UserInterfaceOnly:=True Next End Sub '---------------------------------
Salutations!
Essaie cela...Tu vas voir, c'est brillant.....Fini les Run Time error....