[Résolu] [Calc] Empêcher le copier / coller

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 !
Hadryan
Membre lOOyal
Membre lOOyal
Messages : 42
Inscription : 19 mai 2009 15:32

[Résolu] [Calc] Empêcher le copier / coller

Message par Hadryan »

Bonjour à vous tous,

Notre projet est terminé et on est rendu à corriger les bugs de notre programme :mrgreen:

Nous avons un petit problème, on sait comment protéger une feuille entière ou une simple cellule mais peut-on tout simplement ne pas protéger une cellule pour qu'un utilisateur puisse entrer une donnée dedans MAIS l'empêcher de faire un copier / coller dessus ?

Car le problème du copier / coller c'est qu'il défait tout le formatage et la mise en page... Et disons que cela va rapidement foutre un beau bordel si tout le monde fait cela :roll:

J'ai vue sur le forum en fouillant que cela pourrait se faire par macro mais on ne donne pas plus de détail... Vous avez une idée de comment faire ?

Merci d'avance
Hadryan
Dernière modification par Hadryan le 28 sept. 2009 22:53, modifié 1 fois.
Open Office version 3.1.1
Windows Vista Edition Familiale Premium, Service Pack 2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25184
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Empêcher le copier / coller

Message par Dude »

Salut,
Hadryan a écrit :J'ai vue sur le forum en fouillant que cela pourrait se faire par macro mais on ne donne pas plus de détail
Pourrais-tu déjà citer le lien en question ?

:?:
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Hadryan
Membre lOOyal
Membre lOOyal
Messages : 42
Inscription : 19 mai 2009 15:32

Re: [Calc] Empêcher le copier / coller

Message par Hadryan »

Je n'avais pas donné le lien car on ne fait que mentionner que c'est possible par macro sans en dire plus... mais le voici tout de même:

http://user.services.openoffice.org/fr/ ... ler#p32070
Open Office version 3.1.1
Windows Vista Edition Familiale Premium, Service Pack 2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25184
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Empêcher le copier / coller

Message par Dude »

Hadryan a écrit :que c'est possible par macro sans en dire plus...
Il me semble que dans ce lien, PYS te donne la piste du listener.

:?
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Avatar de l’utilisateur
Churay
ManitOOu
ManitOOu
Messages : 2668
Inscription : 30 avr. 2009 04:54
Localisation : CATALUNYA

Re: [Calc] Empêcher le copier / coller

Message par Churay »

Bonjour

Sinon l'idée de verrouiller la feuille peut être sympa.

- on se positionne sur la cellule à modifier (la feuille est protégée)
- on active une macro associée à une séquence clavier (Fxx ou Ctrl-Fxx ou Ctrl-Maj-Fxx, j'en passe...)
- laquelle macro récupère la valeur via une boîte de dialogue
- si la saisie est OK, on déverrouille la feuille avec ThisComponent.Sheets.getByName("MaFeuille")UnProtect ("PassWord")
ou ThisComponent.Sheets.getByName("MaFeuille").UnProtect ("")
- on fais la modif et on remets la protection avec ThisComponent.Sheets.getByName("MaFeuille").Protect ("PassWord")
ou ThisComponent.Sheets.getByName("MaFeuille").Protect ("")
Avec PassWord, le mot de passe de protection, s'il est défini. "" si non.

Question pour un GOOorOOo de service : avec .CellProtection et .IsLocked, on doit y arriver aussi, non ?

---
Solution(s) peut-être un peu lourde(s), mais bon... ça doit le faire

---
Au fait, la pensée du jour : Merci BM pour XRay ;)
cOOordialement
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK :super:
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25184
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Empêcher le copier / coller

Message par Dude »

Churay a écrit :laquelle macro récupère la valeur via une boîte de dialogue
Tout à fait ! Le plus simple est de séparer la saisie (dialogue ou formulaire), du stockage de la donnée (feuille ou table), voire du document de sortie finale (état ou PDF).
Churay a écrit :Solution(s) peut-être un peu lourde(s), mais bon... ça doit le faire
En tous les cas, moins lourde qu'un listener pour empêcher une action de copier / coller. :mrgreen:
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Avatar de l’utilisateur
Churay
ManitOOu
ManitOOu
Messages : 2668
Inscription : 30 avr. 2009 04:54
Localisation : CATALUNYA

Re: [Calc] Empêcher le copier / coller

Message par Churay »

Bonsoir Dude

Tu n'étais pas particulièrement visé par la question :
avec .CellProtection et .IsLocked, on doit y arriver aussi, non ?
Mais bon... vu tes suprêmes de code, je pense que tu sais y répondre ;)
cOOordialement
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK :super:
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...
Hadryan
Membre lOOyal
Membre lOOyal
Messages : 42
Inscription : 19 mai 2009 15:32

Re: [Calc] Empêcher le copier / coller

Message par Hadryan »

OUF ! Tout ça juste pour empêcher le copier / coller ? :shock:

J'ai comme l'impression que c'est lourd pour pas grand chose... Alors est-ce vraiment nécessaire ? Je ne sais plus, en même temps il nous reste tant de chose à vérifier et de bugs à traquer que je ne crois pas avoir le courage de faire cela en ce moment...

Merci tout de même pour la piste de solution.

Sincèrement
Hadryan
Open Office version 3.1.1
Windows Vista Edition Familiale Premium, Service Pack 2
Avatar de l’utilisateur
Churay
ManitOOu
ManitOOu
Messages : 2668
Inscription : 30 avr. 2009 04:54
Localisation : CATALUNYA

Re: [Résolu] [Calc] Empêcher le copier / coller

Message par Churay »

Hadryan a écrit :OUF ! Tout ça juste pour empêcher le copier / coller ? :shock:
bah... c'est l'affaire de quelques lignes de code, 10 à 20 suivant que tu désires coder lisible ou compact.

par exemple : la récupération de la cellule active, en l'occurrence celle qui va être modifiée, peut se coder en mode compact en une seule ligne

Code : Tout sélectionner

oCell = ThisComponent.Sheets.getByName("Nom_de_la_Feuille").getCellByposition(ThisComponent.getCurrentSelection.CellAddress.Column, _ ThisComponent.getCurrentSelection.CellAddress.Row)
J'ai comme l'impression que c'est lourd pour pas grand chose... Alors est-ce vraiment nécessaire ?
Le fond du problème est là... et toi seul peut y répondre ;)
Merci tout de même pour la piste de solution.
De rien. :D
Tu es sur un forum, où les questions laissées sans réponses sont quasiment inexistantes. Donc reviens-y sans hésitation

Sachant que le plus dur, est de bien formuler la question... :fou: :lol:
cOOordialement
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK :super:
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...