Tableau excel et protection de feuille
Le
laurentbosc

Bonjour,
il y a un comportement bizarre dans excel 2010, avec les tableaux.
je crée un ensemble de ligne colonne que je transforme en tableau.
Si je vais a la ligne juste après la dernière ligne du tableau et que j=
e saisi une valeur, le tableau se redimensionne automatiquement en rajoutan=
t une ligne. Parfait.
Si je veux faire la même chose alors que j'ai protégé ma feuille (en =
prenant soin d'autoriser le maximum de chose (par VBA (qui donne accès =
à quelques options supplémentaires) ou via le menu)), le tableau n'est =
plus réactif. Impossible de rajouter une ligne en fin de de tableau via l=
a même manip. Impossible non plus de rajouter ou supprimer une ligne du t=
ableau via le clic droit / Inserer. Les actions sont grisées. Pourtant je=
peux rajouter ou supprimer une ligne dans la feuille !
y aurait il un moyen de spécifier que l'on veut pouvoir ajouter / supprim=
er des lignes à un tableau, lors de la protection ? Même via VBA, je n'=
ai pas trouvé l'option de la fonction Protect qui permettrait de faire ce=
la.
Merci de votre aide
il y a un comportement bizarre dans excel 2010, avec les tableaux.
je crée un ensemble de ligne colonne que je transforme en tableau.
Si je vais a la ligne juste après la dernière ligne du tableau et que j=
e saisi une valeur, le tableau se redimensionne automatiquement en rajoutan=
t une ligne. Parfait.
Si je veux faire la même chose alors que j'ai protégé ma feuille (en =
prenant soin d'autoriser le maximum de chose (par VBA (qui donne accès =
à quelques options supplémentaires) ou via le menu)), le tableau n'est =
plus réactif. Impossible de rajouter une ligne en fin de de tableau via l=
a même manip. Impossible non plus de rajouter ou supprimer une ligne du t=
ableau via le clic droit / Inserer. Les actions sont grisées. Pourtant je=
peux rajouter ou supprimer une ligne dans la feuille !
y aurait il un moyen de spécifier que l'on veut pouvoir ajouter / supprim=
er des lignes à un tableau, lors de la protection ? Même via VBA, je n'=
ai pas trouvé l'option de la fonction Protect qui permettrait de faire ce=
la.
Merci de votre aide
Dans la feuille module de la feuille en question, j'ai utilisé
ce code :
'----------------------------
Sub test()
Débute par protéger la feuille, mais permet aux macros d'intervenir
'dans la même feuille avec l'item : UserinterfaceOnly:=True
Me.Protect DrawingObjects:=True, contents:=True, Scenarios:=True,
UserinterfaceOnly:=True
'Insère une nouvelle valeur à la fin du tableau
'si tu vas dans la feuille et que tu enlèves la protection, dans la
'liste déroulante du filtre, tu verras que la nouvelle valeur y est.
Range("A7") = 10
'Supprime une ligne du tableau sans aucun problème!
Range("A3").EntireRow.Delete
End Sub
'----------------------------
Si tu veux manipuler une feuille protégée, utilise la manière
que j'ai utilisée...
Habituellement, on utilise ceci dans le Thisworkbook
puisque ce paramètre est valide que pour le temps que
le classeur est valide : UserinterfaceOnly:=True
'--------------------------------------
Private Sub Workbook_Open()
Dim Sh As Worksheet
For Each Sh In Worksheets
Sh.EnableAutoFilter = True
Sh.EnableOutlining = True
'.../...
Sh.Protect DrawingObjects:=True, contents:=True, _
Scenarios:=True, UserinterfaceOnly:=True
Next
End Sub
'--------------------------------------
MichD
---------------------------------------------------------------
a écrit dans le message de groupe de discussion :
Bonjour,
il y a un comportement bizarre dans excel 2010, avec les tableaux.
je crée un ensemble de ligne colonne que je transforme en tableau.
Si je vais a la ligne juste après la dernière ligne du tableau et que je
saisi une valeur, le tableau se redimensionne automatiquement en rajoutant
une ligne. Parfait.
Si je veux faire la même chose alors que j'ai protégé ma feuille (en prenant
soin d'autoriser le maximum de chose (par VBA (qui donne accès à quelques
options supplémentaires) ou via le menu)), le tableau n'est plus réactif.
Impossible de rajouter une ligne en fin de de tableau via la même manip.
Impossible non plus de rajouter ou supprimer une ligne du tableau via le
clic droit / Inserer. Les actions sont grisées. Pourtant je peux rajouter ou
supprimer une ligne dans la feuille !
y aurait il un moyen de spécifier que l'on veut pouvoir ajouter / supprimer
des lignes à un tableau, lors de la protection ? Même via VBA, je n'ai pas
trouvé l'option de la fonction Protect qui permettrait de faire cela.
Merci de votre aide...
Je voulais juste comprendre pourquoi on était capable d insérer simplem ent une ligne dans la feuille protégée mais pas une ligne dans un table au de la feuille protégée. Je trouve cela incohérentes et pensais qu il y avait une solution d activer / désactiver cela par un parametrage, m ais visiblement non. Après en vba je sais comment faire effectivement ;)
à un tableau sur une feuille protégée, moi, quand la feuille
est protégée, je ne peux pas ajouter des lignes de données
manuellement que ce soit dans une plage de cellules ou dans
un tableau. Si ce n'était pas le cas, à quoi servirait la protection?
Il y a quelque chose que je n'ai pas compris dans la formulation
de ta question!
MichD
---------------------------------------------------------------
On peut notamment permettre l insertion de lignes dans la feuille. Donc on peut affiner la protection. Je peux tout a fait protéger ma feuille et pe rmettre l'insertion de ligne dans la feuille (mais empêcher le tri et la suppression de ligne par exemple).
Je trouve dommage (voire incompréhensible) qu'aucun paramètre équival ent (via l'interface ou via VBA) ne soit disponible pour les tableaux, afin de pouvoir inserer des lignes dans un tableau même si la feuille est pro tégée.
Le jeudi 10 octobre 2013 12:35:35 UTC+2, MichD a écrit :
Et comment définir la position du tableau dans Xn cellules ?
Avec un peu de code vba, c'est faisable.
--
Salutations
JJ
Dans menu Accueil/format/Proteger la feuille, on peut choisir des options.
On peut notamment permettre l insertion de lignes dans la feuille. Donc on peut affiner la protection. Je peux
tout a fait protéger ma feuille et permettre l'insertion de ligne dans la feuille (mais empêcher le tri et la
suppression de ligne par exemple).
Je trouve dommage (voire incompréhensible) qu'aucun paramètre équivalent (via l'interface ou via VBA) ne soit
disponible pour les tableaux, afin de pouvoir inserer des lignes dans un tableau même si la feuille est
protégée.
Le jeudi 10 octobre 2013 12:35:35 UTC+2, MichD a écrit :
Si une plage de cellule est transformée en tableau, automatiquement quand on est dans une cellule excel sait si on est dans un tableau ou non. En fa isant clic droit / insérer , on peut insérer une ligne dans le tableau. Quand la feuille est protégée, impossible d ajouter une ligne, dans ce tableau ( alors que je peux insérer une ligne dans la feuille...)
Sur le site de Microsoft j ai trouve des personnes qui se plaignent de cela aussi :
http://answers.microsoft.com/en-us/office/forum/office_2010-excel/how-to-pr otect-an-excel-2010-table-allow-to-add/ee40ee81-8419-449c-b2c0-80e4f60b2e5d
Certes, mais cela ne fait que relater quelque chose qu'excel ne sait pas faire nativement.
Or le but que l'on se fixe ici, est de réaliser la chose afin d'obtenir ce que l'on souhaite avec les moyens
que l'on dispose.
Un petit exemple simple pour insérer une ligne dans un tableau
http://cjoint.com/?CJkx1fHIAeT
--
Salutations
JJ
La je ne comprends pas le propos.
Si une plage de cellule est transformée en tableau, automatiquement quand on est dans une cellule excel sait
si on est dans un tableau ou non. En faisant clic droit / insérer , on peut insérer une ligne dans le tableau.
Quand la feuille est protégée, impossible d ajouter une ligne, dans ce tableau ( alors que je peux insérer une
ligne dans la feuille...)
Sur le site de Microsoft j ai trouve des personnes qui se plaignent de cela aussi :
http://answers.microsoft.com/en-us/office/forum/office_2010-excel/how-to-protect-an-excel-2010-table-allow-to-add/ee40ee81-8419-449c-b2c0-80e4f60b2e5d