Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Protéger feuille

9 réponses
Avatar
Billy
Bonjour,

Je tente de protéger une feuille contenant une macro (voir ci-bas) dans
Excel avec le menu [Outil] [Protection] [Protéger la feuille]. Comme ma macro
me permet d'insérer une nouvelle ligne à l'emplacement de la ligne 13, j'ai
pris soin de cocher l'option [Insérer des lignes] à la section [Autoriser
tous les utilisateurs de cette feuille à] . Mais ca fonctionne toujours pas.
J'ai cliqué sur le bouton [Débogage] et le message suivant s'est affiché :
[Erreur d'exécution '1004' La Méthode Insert de la classe range a échoué].

Je crois que c'est cette ligne qui bloque car le système me l'affiche en
jaune quand je clique [Débogage]: .Insert Shift:=xlDown

Sub ausuivant()

With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants, 23).ClearContents
End With

End Sub

Quelqu'un a une solution pour régler ce problème ou encore une autre idée
pour protéger ma feuille? Seule les cellules de la ligne D13 à R13, E4 et mon
graphique croisé dynamique en objet qui ne doivent pas être verrouillés.

Merci grandement!
--
Billy

9 réponses

Avatar
JulieH
Bonsoir,

Je ne sais pas si j'ai bien compris , mais n'est-il pas possible de
déprotéger la feuille uniquement pendant le déroulement de la macro ?

ActiveSheet.Unprotect

Pour la protéger à la fin de la macro :
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True (sur 1 ligne).

Julie


Bonjour,

Je tente de protéger une feuille contenant une macro (voir ci-bas) dans
Excel avec le menu [Outil] [Protection] [Protéger la feuille]. Comme ma macro
me permet d'insérer une nouvelle ligne à l'emplacement de la ligne 13, j'ai
pris soin de cocher l'option [Insérer des lignes] à la section [Autoriser
tous les utilisateurs de cette feuille à] . Mais ca fonctionne toujours pas.
J'ai cliqué sur le bouton [Débogage] et le message suivant s'est affiché :
[Erreur d'exécution '1004' La Méthode Insert de la classe range a échoué].

Je crois que c'est cette ligne qui bloque car le système me l'affiche en
jaune quand je clique [Débogage]: .Insert Shift:=xlDown

Sub ausuivant()

With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants, 23).ClearContents
End With

End Sub

Quelqu'un a une solution pour régler ce problème ou encore une autre idée
pour protéger ma feuille? Seule les cellules de la ligne D13 à R13, E4 et mon
graphique croisé dynamique en objet qui ne doivent pas être verrouillés.

Merci grandement!


Avatar
Billy
Bonjour,

Peut-être que ca pourrait fonctionner effectivement. Mais je suis pas très
douée avec les macros. Comment ou plutôt où dois-je insérer ces ligne de
procédures dans ma formulation ci-bas?

Sub ausuivant()

With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants, 23).ClearContents
End With

End Sub


Un gros merci!!!

--
Billy



Bonsoir,

Je ne sais pas si j'ai bien compris , mais n'est-il pas possible de
déprotéger la feuille uniquement pendant le déroulement de la macro ?

ActiveSheet.Unprotect

Pour la protéger à la fin de la macro :
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True (sur 1 ligne).

Julie


Bonjour,

Je tente de protéger une feuille contenant une macro (voir ci-bas) dans
Excel avec le menu [Outil] [Protection] [Protéger la feuille]. Comme ma macro
me permet d'insérer une nouvelle ligne à l'emplacement de la ligne 13, j'ai
pris soin de cocher l'option [Insérer des lignes] à la section [Autoriser
tous les utilisateurs de cette feuille à] . Mais ca fonctionne toujours pas.
J'ai cliqué sur le bouton [Débogage] et le message suivant s'est affiché :
[Erreur d'exécution '1004' La Méthode Insert de la classe range a échoué].

Je crois que c'est cette ligne qui bloque car le système me l'affiche en
jaune quand je clique [Débogage]: .Insert Shift:=xlDown

Sub ausuivant()

With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants, 23).ClearContents
End With

End Sub

Quelqu'un a une solution pour régler ce problème ou encore une autre idée
pour protéger ma feuille? Seule les cellules de la ligne D13 à R13, E4 et mon
graphique croisé dynamique en objet qui ne doivent pas être verrouillés.

Merci grandement!





Avatar
LSteph
Bonsoir,

Feuil1.protect password:="toto", userinterfaceonly:=true

Cordialement.

lSteph

Bonjour,

Je tente de protéger une feuille contenant une macro (voir ci-bas) dans
Excel avec le menu [Outil] [Protection] [Protéger la feuille]. Comme ma macro
me permet d'insérer une nouvelle ligne à l'emplacement de la ligne 13, j'ai
pris soin de cocher l'option [Insérer des lignes] à la section [Autoriser
tous les utilisateurs de cette feuille à] . Mais ca fonctionne toujours pas.
J'ai cliqué sur le bouton [Débogage] et le message suivant s'est affiché :
[Erreur d'exécution '1004' La Méthode Insert de la classe range a échoué].

Je crois que c'est cette ligne qui bloque car le système me l'affiche en
jaune quand je clique [Débogage]: .Insert Shift:=xlDown

Sub ausuivant()

With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants, 23).ClearContents
End With

End Sub

Quelqu'un a une solution pour régler ce problème ou encore une autre idée
pour protéger ma feuille? Seule les cellules de la ligne D13 à R13, E4 et mon
graphique croisé dynamique en objet qui ne doivent pas être verrouillés.

Merci grandement!


Avatar
Billy
Bonjour,

D'abord merci beaucoup de m'aider.

Je suis très débutante en VBA. J'aurais besoin d'aide s'il vous plaît pour
insérer cette procédure.

Feuil1.protect password:="toto", userinterfaceonly:=true

Je dois l'ajouter à la suite de mon code ? Je sais pas trop à quel endroit
l'insérer dans ma formule....


Sub ausuivant()

With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants, 23).ClearContents
End With

End Sub





--
Billy



Bonsoir,

Feuil1.protect password:="toto", userinterfaceonly:=true

Cordialement.

lSteph

Bonjour,

Je tente de protéger une feuille contenant une macro (voir ci-bas) dans
Excel avec le menu [Outil] [Protection] [Protéger la feuille]. Comme ma macro
me permet d'insérer une nouvelle ligne à l'emplacement de la ligne 13, j'ai
pris soin de cocher l'option [Insérer des lignes] à la section [Autoriser
tous les utilisateurs de cette feuille à] . Mais ca fonctionne toujours pas.
J'ai cliqué sur le bouton [Débogage] et le message suivant s'est affiché :
[Erreur d'exécution '1004' La Méthode Insert de la classe range a échoué].

Je crois que c'est cette ligne qui bloque car le système me l'affiche en
jaune quand je clique [Débogage]: .Insert Shift:=xlDown

Sub ausuivant()

With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants, 23).ClearContents
End With

End Sub

Quelqu'un a une solution pour régler ce problème ou encore une autre idée
pour protéger ma feuille? Seule les cellules de la ligne D13 à R13, E4 et mon
graphique croisé dynamique en objet qui ne doivent pas être verrouillés.

Merci grandement!





Avatar
JulieH
Difficle à dire car je ne sais pas ce que tu fais exactement avec ce
code, cependant, tu peux voir sur l'exemple suivant.

Sub Essai()

[Feuil2].Select
ActiveSheet.Unprotect
Rows("25:25").Select
Selection.Insert Shift:=xlDown
[A26] = "Bonjour"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True 'attention sur 1 seule ligne
[Feuil1].Select
End Sub

Je suis en Feuil1, je vais en Feuil2 (protégée), je la déprotège, je
fais quelques trucs dessus, je la reprotège et je retourne en Feuil1.

Tu peux essayer.

Bon courage

Julie




Bonjour,

Peut-être que ca pourrait fonctionner effectivement. Mais je suis pas très
douée avec les macros. Comment ou plutôt où dois-je insérer ces ligne de
procédures dans ma formulation ci-bas?

Sub ausuivant()

With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants, 23).ClearContents
End With

End Sub


Un gros merci!!!




Avatar
LSteph
Bonsoir Billy,
tu peux t'en servir une fois pour toutes dans une macro pour protèger la
feuille
enlève d'abord la protection qui y est, bien sûr.

Ensuite seul l'interface utilisateur sera protégée, les macros pourront
agir.

Cordialement.

lSteph

Bonjour,

D'abord merci beaucoup de m'aider.

Je suis très débutante en VBA. J'aurais besoin d'aide s'il vous plaît pour
insérer cette procédure.

Feuil1.protect password:="toto", userinterfaceonly:=true

Je dois l'ajouter à la suite de mon code ? Je sais pas trop à quel endroit
l'insérer dans ma formule....


Sub ausuivant()
With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants, 23).ClearContents
End With

End Sub









Avatar
LSteph
...
exemple avec le code dans le ThisWorkbook
(fais alt+f11 pour aller y voir)

http://cjoint.com/?huwVl28h80

Bonjour,

D'abord merci beaucoup de m'aider.

Je suis très débutante en VBA. J'aurais besoin d'aide s'il vous plaît pour
insérer cette procédure.

Feuil1.protect password:="toto", userinterfaceonly:=true

Je dois l'ajouter à la suite de mon code ? Je sais pas trop à quel endroit
l'insérer dans ma formule....


Sub ausuivant()
With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants, 23).ClearContents
End With

End Sub









Avatar
Billy
Allo!

Ca marche à merveille!!!!!!!!!!!! Je suis tellement contente! Merci!!!!!!!
--
Billy



Bonsoir Billy,
tu peux t'en servir une fois pour toutes dans une macro pour protèger la
feuille
enlève d'abord la protection qui y est, bien sûr.

Ensuite seul l'interface utilisateur sera protégée, les macros pourront
agir.

Cordialement.

lSteph

Bonjour,

D'abord merci beaucoup de m'aider.

Je suis très débutante en VBA. J'aurais besoin d'aide s'il vous plaît pour
insérer cette procédure.

Feuil1.protect password:="toto", userinterfaceonly:=true

Je dois l'ajouter à la suite de mon code ? Je sais pas trop à quel endroit
l'insérer dans ma formule....


Sub ausuivant()
With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants, 23).ClearContents
End With

End Sub












Avatar
Billy
Génial!

J'ai tout compris! Un gros merci !!!! J'apprécie beaucoup!
--
Billy



....
exemple avec le code dans le ThisWorkbook
(fais alt+f11 pour aller y voir)

http://cjoint.com/?huwVl28h80

Bonjour,

D'abord merci beaucoup de m'aider.

Je suis très débutante en VBA. J'aurais besoin d'aide s'il vous plaît pour
insérer cette procédure.

Feuil1.protect password:="toto", userinterfaceonly:=true

Je dois l'ajouter à la suite de mon code ? Je sais pas trop à quel endroit
l'insérer dans ma formule....


Sub ausuivant()
With [a13:S13]
.Copy
.Insert Shift:=xlDown
[a13:S13].SpecialCells(xlCellTypeConstants, 23).ClearContents
End With

End Sub