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

Trier une colonne verrouillée

5 réponses
Avatar
Subarusan12
Boujour tout le monde!

Je n'arrive pas à trier un tableau protégé et je cherche une astuce pour le
faire.
Est-il possible de choisir un type de protection différent pour des plages
de cellules différentes? Je n'ai pas trouvé comment faire...

Imaginons un petit tableau de 15 cellules.

A1:B5 (position déverroullée)
C1:C5 (position verrouillée)

Seules, les 2 premières colonnes reçoivent manuellement des données.
L'autre, a des formules (donc verrouillé!)

Suite aux résultats, je dois trier par ordre croissant ou décroissant ce
tableau.
J'ai donc pris soin, dans type de protection, de cocher "tri" - "cellule
verrouillée" - "cellule déverrouillée".
Lorsque je mets en surbrillance ce tableau de 15 cellules, et que je demande
le tri, celui-ci se refuse!
Pour que cela marche, il faudrait que je crée une plage modifiable, soit:
"C1:C5", mais cela reviendrait à travailler sans protection au risque
d'effacer par mégarde la colonne "C"...

Comment faire?


PS: Merci de ne pas me parler en language VBA...

--
2ni

5 réponses

Avatar
Philippe.R
Bonjour,
En variante au verrouillage, pour protéger les formules, il y aurait bien
Données / validation / autoriser / longueur de texte / égale à 0
Mais c'est vrai que la colonne ne sera protégée contre la suppression
--
Philippe.R
"Subarusan12" a écrit dans le
message de news:
Boujour tout le monde!

Je n'arrive pas à trier un tableau protégé et je cherche une astuce pour
le
faire.
Est-il possible de choisir un type de protection différent pour des plages
de cellules différentes? Je n'ai pas trouvé comment faire...

Imaginons un petit tableau de 15 cellules.

A1:B5 (position déverroullée)
C1:C5 (position verrouillée)

Seules, les 2 premières colonnes reçoivent manuellement des données.
L'autre, a des formules (donc verrouillé!)

Suite aux résultats, je dois trier par ordre croissant ou décroissant ce
tableau.
J'ai donc pris soin, dans type de protection, de cocher "tri" - "cellule
verrouillée" - "cellule déverrouillée".
Lorsque je mets en surbrillance ce tableau de 15 cellules, et que je
demande
le tri, celui-ci se refuse!
Pour que cela marche, il faudrait que je crée une plage modifiable, soit:
"C1:C5", mais cela reviendrait à travailler sans protection au risque
d'effacer par mégarde la colonne "C"...

Comment faire?


PS: Merci de ne pas me parler en language VBA...

--
2ni


Avatar
zOrg2net
Bonjour,
Peut-être qu'un petit code comme ça pourrait fonctionner. On déprotège la
feuille, on fait un tri, puis on reprotège. Les formules suivent
théoriquement les lignes triées.
Voilà ce que propose l'enregistreur de macro.
Sub Test()
ActiveSheet.Unprotect
Range("A1").Select
Range("A1:C5").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:úlse,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True
End Sub

zOrg2net

"Subarusan12" a écrit dans le
message de news:
Boujour tout le monde!

Je n'arrive pas à trier un tableau protégé et je cherche une astuce pour
le
faire.
Est-il possible de choisir un type de protection différent pour des plages
de cellules différentes? Je n'ai pas trouvé comment faire...

Imaginons un petit tableau de 15 cellules.

A1:B5 (position déverroullée)
C1:C5 (position verrouillée)

Seules, les 2 premières colonnes reçoivent manuellement des données.
L'autre, a des formules (donc verrouillé!)

Suite aux résultats, je dois trier par ordre croissant ou décroissant ce
tableau.
J'ai donc pris soin, dans type de protection, de cocher "tri" - "cellule
verrouillée" - "cellule déverrouillée".
Lorsque je mets en surbrillance ce tableau de 15 cellules, et que je
demande
le tri, celui-ci se refuse!
Pour que cela marche, il faudrait que je crée une plage modifiable, soit:
"C1:C5", mais cela reviendrait à travailler sans protection au risque
d'effacer par mégarde la colonne "C"...

Comment faire?


PS: Merci de ne pas me parler en language VBA...

--
2ni


Avatar
LSteph
Bonjour,

Sans te parler VBA comme tu le demandes
je n'y vois guère de salut, à part lever la protection
ou le contournement qui t'a été suggèré.

Avec VBA

au lieu de protèger déprotèger utilisation de userinterfaceonly.
(voir exemple dans la ficelle de Billy protèger feuille)

Ensuite, selon ta demande prévoir le tri exclusivement par macro

Soit en fin de compte: fais alt+f11 pour ouvrir le VBE et colle ce qui
suit comme indiqué

'''dans thisworkbook
Private Sub Workbook_Open()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
sh.Protect Password:="toto", userinterfaceonly:=True
Next
End Sub

'''dans un module standard
Sub Tri()
Range("A1:C5").Sort Key1:=Range("A1"), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
'''''''''''''''''''''''''''''''''''''''''''''

'Cordialement

--
lSteph

Boujour tout le monde!

Je n'arrive pas à trier un tableau protégé et je cherche une astuce pour le
faire.
Est-il possible de choisir un type de protection différent pour des plages
de cellules différentes? Je n'ai pas trouvé comment faire...

Imaginons un petit tableau de 15 cellules.

A1:B5 (position déverroullée)
C1:C5 (position verrouillée)

Seules, les 2 premières colonnes reçoivent manuellement des données.
L'autre, a des formules (donc verrouillé!)

Suite aux résultats, je dois trier par ordre croissant ou décroissant ce
tableau.
J'ai donc pris soin, dans type de protection, de cocher "tri" - "cellule
verrouillée" - "cellule déverrouillée".
Lorsque je mets en surbrillance ce tableau de 15 cellules, et que je demande
le tri, celui-ci se refuse!
Pour que cela marche, il faudrait que je crée une plage modifiable, soit:
"C1:C5", mais cela reviendrait à travailler sans protection au risque
d'effacer par mégarde la colonne "C"...

Comment faire?


PS: Merci de ne pas me parler en language VBA...



Avatar
Subarusan12
Merci de vos aides.

Je ne connais rien en vba, je me contenterais donc de déverrouiller, de
trier, puis de reverrouiller.

Par contre, est-ce que dans Excell 2007 il est possible, comme dit plus haut:
"Est-il possible de choisir un type de protection différent pour des plages
de cellules différentes? Je n'ai pas trouvé comment faire..."



--
2ni



Bonjour,

Sans te parler VBA comme tu le demandes
je n'y vois guère de salut, à part lever la protection
ou le contournement qui t'a été suggèré.

Avec VBA

au lieu de protèger déprotèger utilisation de userinterfaceonly.
(voir exemple dans la ficelle de Billy protèger feuille)

Ensuite, selon ta demande prévoir le tri exclusivement par macro

Soit en fin de compte: fais alt+f11 pour ouvrir le VBE et colle ce qui
suit comme indiqué

'''dans thisworkbook
Private Sub Workbook_Open()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
sh.Protect Password:="toto", userinterfaceonly:=True
Next
End Sub

'''dans un module standard
Sub Tri()
Range("A1:C5").Sort Key1:=Range("A1"), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
'''''''''''''''''''''''''''''''''''''''''''''

'Cordialement

--
lSteph

Boujour tout le monde!

Je n'arrive pas à trier un tableau protégé et je cherche une astuce pour le
faire.
Est-il possible de choisir un type de protection différent pour des plages
de cellules différentes? Je n'ai pas trouvé comment faire...

Imaginons un petit tableau de 15 cellules.

A1:B5 (position déverroullée)
C1:C5 (position verrouillée)

Seules, les 2 premières colonnes reçoivent manuellement des données.
L'autre, a des formules (donc verrouillé!)

Suite aux résultats, je dois trier par ordre croissant ou décroissant ce
tableau.
J'ai donc pris soin, dans type de protection, de cocher "tri" - "cellule
verrouillée" - "cellule déverrouillée".
Lorsque je mets en surbrillance ce tableau de 15 cellules, et que je demande
le tri, celui-ci se refuse!
Pour que cela marche, il faudrait que je crée une plage modifiable, soit:
"C1:C5", mais cela reviendrait à travailler sans protection au risque
d'effacer par mégarde la colonne "C"...

Comment faire?


PS: Merci de ne pas me parler en language VBA...






Avatar
zOrg2net
Salut LSteph,
J'avais pas vu le P.S.
D'ailleur dans l'état où il est, je ne sais pas si on le reverra encore.;o))

zOrg2net

"LSteph" a écrit dans le message de news:

Bonjour,

Sans te parler VBA comme tu le demandes
je n'y vois guère de salut, à part lever la protection
ou le contournement qui t'a été suggèré.

Avec VBA

au lieu de protèger déprotèger utilisation de userinterfaceonly.
(voir exemple dans la ficelle de Billy protèger feuille)

Ensuite, selon ta demande prévoir le tri exclusivement par macro

Soit en fin de compte: fais alt+f11 pour ouvrir le VBE et colle ce qui
suit comme indiqué

'''dans thisworkbook
Private Sub Workbook_Open()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
sh.Protect Password:="toto", userinterfaceonly:=True
Next
End Sub

'''dans un module standard
Sub Tri()
Range("A1:C5").Sort Key1:=Range("A1"), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
'''''''''''''''''''''''''''''''''''''''''''''

'Cordialement

--
lSteph

Boujour tout le monde!

Je n'arrive pas à trier un tableau protégé et je cherche une astuce pour
le faire.
Est-il possible de choisir un type de protection différent pour des
plages de cellules différentes? Je n'ai pas trouvé comment faire...

Imaginons un petit tableau de 15 cellules.

A1:B5 (position déverroullée)
C1:C5 (position verrouillée)

Seules, les 2 premières colonnes reçoivent manuellement des données.
L'autre, a des formules (donc verrouillé!)

Suite aux résultats, je dois trier par ordre croissant ou décroissant ce
tableau.
J'ai donc pris soin, dans type de protection, de cocher "tri" - "cellule
verrouillée" - "cellule déverrouillée".
Lorsque je mets en surbrillance ce tableau de 15 cellules, et que je
demande le tri, celui-ci se refuse!
Pour que cela marche, il faudrait que je crée une plage modifiable, soit:
"C1:C5", mais cela reviendrait à travailler sans protection au risque
d'effacer par mégarde la colonne "C"...

Comment faire?


PS: Merci de ne pas me parler en language VBA...