[Résolu] [Calc] Empêcher le copier / coller
Modérateur : Vilains modOOs
Règles du forum
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 !
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 !
-
- Membre lOOyal
- Messages : 42
- Inscription : 19 mai 2009 15:32
[Résolu] [Calc] Empêcher le copier / coller
Bonjour à vous tous,
Notre projet est terminé et on est rendu à corriger les bugs de notre programme
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
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
Notre projet est terminé et on est rendu à corriger les bugs de notre programme
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
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
Windows Vista Edition Familiale Premium, Service Pack 2
-
- IdOOle de la suite
- Messages : 25184
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Empêcher le copier / coller
Salut,
Pourrais-tu déjà citer le lien en question ?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
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Améliorez AOO et votez pour les issues
-
- Membre lOOyal
- Messages : 42
- Inscription : 19 mai 2009 15:32
Re: [Calc] Empêcher le copier / coller
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
http://user.services.openoffice.org/fr/ ... ler#p32070
Open Office version 3.1.1
Windows Vista Edition Familiale Premium, Service Pack 2
Windows Vista Edition Familiale Premium, Service Pack 2
-
- IdOOle de la suite
- Messages : 25184
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Empêcher le copier / coller
Il me semble que dans ce lien, PYS te donne la piste du listener.Hadryan a écrit :que c'est possible par macro sans en dire plus...
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Améliorez AOO et votez pour les issues
-
- ManitOOu
- Messages : 2668
- Inscription : 30 avr. 2009 04:54
- Localisation : CATALUNYA
Re: [Calc] Empêcher le copier / coller
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
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
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...
-
- IdOOle de la suite
- Messages : 25184
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Empêcher le copier / coller
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 :laquelle macro récupère la valeur via une boîte de dialogue
En tous les cas, moins lourde qu'un listener pour empêcher une action de copier / coller.Churay a écrit :Solution(s) peut-être un peu lourde(s), mais bon... ça doit le faire
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Améliorez AOO et votez pour les issues
-
- ManitOOu
- Messages : 2668
- Inscription : 30 avr. 2009 04:54
- Localisation : CATALUNYA
Re: [Calc] Empêcher le copier / coller
Bonsoir Dude
Tu n'étais pas particulièrement visé par la question :
Tu n'étais pas particulièrement visé par la question :
Mais bon... vu tes suprêmes de code, je pense que tu sais y répondreavec .CellProtection et .IsLocked, on doit y arriver aussi, non ?
cOOordialement
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...
-
- Membre lOOyal
- Messages : 42
- Inscription : 19 mai 2009 15:32
Re: [Calc] Empêcher le copier / coller
OUF ! Tout ça juste pour empêcher le copier / coller ?
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
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
Windows Vista Edition Familiale Premium, Service Pack 2
-
- ManitOOu
- Messages : 2668
- Inscription : 30 avr. 2009 04:54
- Localisation : CATALUNYA
Re: [Résolu] [Calc] Empêcher le copier / coller
bah... c'est l'affaire de quelques lignes de code, 10 à 20 suivant que tu désires coder lisible ou compact.Hadryan a écrit :OUF ! Tout ça juste pour empêcher le copier / coller ?
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)
Le fond du problème est là... et toi seul peut y répondreJ'ai comme l'impression que c'est lourd pour pas grand chose... Alors est-ce vraiment nécessaire ?
De rien.Merci tout de même pour la piste de solution.
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...
cOOordialement
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...