[Résolu][Calc]Proteger la feuille en lecture et écriture

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur: Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !

[Résolu][Calc]Proteger la feuille en lecture et écriture

Messagepar boulauventre » 14 Nov 2019 17:13

Bonjour,

J'utilise une fonction de CoachFab Afin d'automatiser la protection et "déprotection" de mes feuilles. Ca fonctionne du tonnerre mais j'ai juste un soucis, cette protection ne se fait pas en lecture.

J'ai notamment une feuille ou sont inscrit des mots de passes et je voudrait que la protection s'applique en lecture.

Voici mon code :

Code : Tout sélectionner   AgrandirRéduire
Sub ProtectAllFeuille(Optional doc as Object)
Dim oSheets as Object, oDoc as Object, nb as Integer, i as integer, oSheet as Object
If IsMissing(doc) then
   oDoc=ThisComponent
else
   oDoc=doc
end if
nb=oDoc.Sheets.Count
oSheets=oDoc.Sheets
for i=0 to nb-1
   oSheet=RetourneFeuille(oSheets(i).Name,oDoc)
   oSheet.protect("MotDePasse")
next i

End Sub


Que dois-je rajouter/modifier dans le code pour appliquer une protection en lecture ?

Merci
Bonne journée
Boulauventre
Dernière édition par boulauventre le 20 Nov 2019 19:37, édité 1 fois.
libre office 6.2.8 sous Windows 10
boulauventre
Membre OOrganisé
Membre OOrganisé
 
Message(s) : 77
Inscrit le : 06 Juin 2016 21:23

Re: [Calc]Proteger la feuille en lecture et écriture

Messagepar micmac » 14 Nov 2019 17:21

Bonjour,
Dans votre signature il y a écrit: libre office 6.1 sous Windows 10
Votre signature fait mention d'une version de LibreOffice qui n'est plus maintenue.
Est-ce une erreur, un oubli, un choix, une obligation ?
Dans ce dernier cas, mentionnez-le dans votre signature par Obligation de version.

Afin de profiter des dernières améliorations, il est fortement recommandé d'être à jour de la dernière version stable 6.2.8.

Accès direct à votre signature pour la corriger.

Cordialement.
Les formats ouverts (ODF) assurent la pérennité de vos documents.
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
 
Message(s) : 6299
Inscrit le : 28 Août 2010 09:45

Re: [Calc]Proteger la feuille en lecture et écriture

Messagepar luky-luke » 14 Nov 2019 17:42

Bonjour
boulauventre a écrit:je voudrait que la protection s'applique en lecture

La protection de la feuille empêche l'écriture dans les cellules. Par défaut dans une feuille les cellules sont protégées en écriture, il faut décocher l'option dans la fenêtre de formatage des cellules.
Une feuille est toujours accessible en lecture. Un mot de passe peut être exigé à l'ouverture d'un fichier pour empêcher sa lecture.
Bon en même temps, mettre les mots de passe des feuilles dans le même classeur n'est pas franchement un bonne idée. C'est comme avoir le code de sa carte bleu écrit au dos de celle-ci. Bon moi ce que j'en dis :lol:
Cordialement
Luke
AOO 4.1.3 et LibO 5.3.7.2 Ubuntu 16.04 LTS et Debian 9
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
Avatar de l’utilisateur
luky-luke
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 914
Inscrit le : 27 Nov 2010 01:17
Localisation : gâtine deux-sèvrienne

Re: [Calc]Proteger la feuille en lecture et écriture

Messagepar boulauventre » 14 Nov 2019 17:47

Bonjour luky-luke,

La protection des feuilles peut-être effectuée en lecture si l'on passe par l'API. Mais dans mon cas ça n'est pas possible... :?

Ce ne sont pas les mots de passe des feuilles mais plutôt un listing de personnels avec attribué à chacun, un mot de passe. Je peux mettre ces mots de passe en blanc pour les fondre dans le feuille mais si l'utilisateur clique sur la cellule, il pourra les lire...

Pour MicMac, version changée, oublie de ma part désolé.
libre office 6.2.8 sous Windows 10
boulauventre
Membre OOrganisé
Membre OOrganisé
 
Message(s) : 77
Inscrit le : 06 Juin 2016 21:23

Re: [Calc]Proteger la feuille en lecture et écriture

Messagepar luky-luke » 14 Nov 2019 18:02

Re
boulauventre a écrit:La protection des feuilles peut-être effectuée en lecture si l'on passe par l'API
Si tu trouve la solution, je pense que nous sommes plusieurs à vouloir la connaître :wink:

Cordialement
Luke
AOO 4.1.3 et LibO 5.3.7.2 Ubuntu 16.04 LTS et Debian 9
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
Avatar de l’utilisateur
luky-luke
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 914
Inscrit le : 27 Nov 2010 01:17
Localisation : gâtine deux-sèvrienne

Re: [Calc]Proteger la feuille en lecture et écriture

Messagepar OOotremer971 » 14 Nov 2019 19:13

Bonjour,

Il faut créer un style qui le permet pour les cellules concernées en cochant Tout masquer sous l'onglet protection :
ProtectionLecture.png


Une fois la feuille protégée, la lecture est interdite :
AprèsProtection.png
AprèsProtection.png (5.4 Kio) Consulté 85 fois


Sous réserve d'avoir bien compris :)

A+

 Ajout : 1) Un petit bout de code pour illustrer la démarche par macro :
Code : Tout sélectionner   AgrandirRéduire
Sub Main
Dim TypeDeProtection As New com.sun.star.util.CellProtection
TypeDeProtection.IsHidden = True
maFeuille = Thiscomponent.Sheets(0)
maCellule = maFeuille.GetCellRangeByName("A1")
maCellule.String = "Blablabla"
maCellule.CellProtection = TypeDeProtection
maFeuille.protect("")
End Sub
 

StructureCellProtection.png

 Ajout : 2)
boulauventre a écrit:Ce ne sont pas les mots de passe des feuilles mais plutôt un listing de personnels avec attribué à chacun, un mot de passe.

Attention : il ne faut pas perdre de vue que la protection d'une feuille (même avec un mot de passe bien balaise) n'est pas complétement fiable contrairement à la protection du fichier.
Merci Luky-Lukepour la piqûre de rappel :) 
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Ubuntu
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2142
Inscrit le : 16 Avr 2010 14:31

Re: [Calc]Proteger la feuille en lecture et écriture

Messagepar boulauventre » 20 Nov 2019 19:37

Bonjour à tous,

Je reviens vers vous pour clôturer ce sujet et donner la solution qui pour moi aura été exactement celle que je cherchais.

C'est donc la solution de OOotremer971 qui convient parfaitement dans mon cas, j'ai donc pu Protéger ma feuille en lecture et en écriture et en plus avec une solution vraiment simple.

Merci donc à OOotremer971 et à tous ceux qui ont réagis sur mon Post.

A bientôt

Boulauventre
libre office 6.2.8 sous Windows 10
boulauventre
Membre OOrganisé
Membre OOrganisé
 
Message(s) : 77
Inscrit le : 06 Juin 2016 21:23


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 7 invité(s)