OVH Cloud OVH Cloud

Désactiver le champ mot de passe et laisser la protection access ib

12 réponses
Avatar
ADE
Bonjour à tous et toutes,

Je cherche comment accéder au champ dans lequel on entre le Mot de passe de
protection de la feuille ( et du classeur) , ceci afin de le désactiver .

Le but est que les utilisateurs puissent continuer à profiter de l'option de
protection sans pouvoir entrer de mot de passe.

Est-ce réalisable ?

Nous travaillons sous windows XP (Sp2) - Office XP .

2 réponses

1 2
Avatar
Argyronet
J'en pense que c'est bien complexe, en fait je pensais pouvoir identifier ce
contrôle ( ou plutot le 'champ password' concerné du contrôle ) et le
désactiver via les polities de WIndows , raison pour laquelle je cherchais à
identifier clairement ce contrôle.


Si, on peut, la classe de la fenêtre est bosa_sdm_XL9 et celle du textbox
est EDTBX mais je vous dit, c'est complexe...

Bien sûr je peux adopter la solution que vous préconisez, mais il me faudra
l'appliquer à chaque utilisateur et là, bien sûr ca se complique ...


Non car cela fait partie intégrante du classeur lui-même et non d'Excel.
Sur l'événement Open du Classeur vous créez le votre et désactivez par la
même le contrôle en question et c'est tout... Le menu Outils se verra alors
affecté avec ce nouvel Item ce qui est transparent pour les utilisateurs...
J'ai déjà procédé (il y a fort longtemps) à ce choix pour la fenêtre Zoom où
je ne voulais pas que les utilsateurs puissent descendre en deça de 75% et au
delà de 120% (Sous Excel 5.0) car ça plantait Excel...
Pour créer ce userForm, affichez la fenêtre de protection, faîte ALT+Impr
écran, Créez un UserForm, coller l'image et posez les mêmes contrôles
Checkboxes dans un groupe, les boutons et le TextBox avec la propriété Locked
à True puis supprimez l'image. Enfin, écrivez le code qui va avec derrière...
Je reconnais qu'il y a du travail mais cela reste une solution sympa à
mettre en oeuvre...

L' ID 30029 représente bien le UserForm affiché quand on sélectionne
'protéger le classeur' , dans ce cas comment repérer l'élément TextBox du
password ( si toutefois c'est faisable ...) ?


L' ID 30029 représente est le contrôle "Prot&ection" et non pas le UserForm...
Il est affecté à une routine interne qui appelle la boîte de dialogue
"xlDialogProtectDocument" comme si vous écriviez ceci:
Application.Dialogs(xlDialogProtectDocument).Show

--
Argy
http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Bonjour et merci de vous pencher sur mon problème.

J'en pense que c'est bien complexe, en fait je pensais pouvoir identifier ce
contrôle ( ou plutot le 'champ password' concerné du contrôle ) et le
désactiver via les polities de WIndows , raison pour laquelle je cherchais à
identifier clairement ce contrôle.

Bien sûr je peux adopter la solution que vous préconisez, mais il me faudra
l'appliquer à chaque utilisateur et là, bien sûr ca se complique ...

L' ID 30029 représente bien le UserForm affiché quand on sélectionne
'protéger le classeur' , dans ce cas comment repérer l'élément TextBox du
password ( si toutefois c'est faisable ...) ?

Merci bcp !


Bonjour,

Intervenir sur cette fenêtre me paraît bien fastidieux (je n'ai pas dit
infaisable) mais nécessitera un usage conséquent d'APIs pour la localiser
l'identifier (bosa_sdm_XL9 avec un FindWindow) et intervenir sur le control
Textbox (EDTBX) pour enfin définir ce que l'on veut...
Ce que je propose éventuellement, c'est de recréer dans un UserForm la boîte
de dialogue "xlDialogProtectDocument" à l'identique auquel cas on peut
verrouiller le contrôle TextBox en question selon le cas avec toutes les
fonctions de protection mises en place pour ce dernier.
Dès que l'utilisateur click sur l'option de protection, c'est votre UserForm
qui apparaît et non celui d'Excel.
Bien entendu il faut que votre classeur substitue le Control 30029 en lieu
et place d'un nouveau... qui appelera quelque chose comme
frmUserPasswordProtect.Show
Il faut pour ce faire rendre invisible ce contrôle, en recréer un à
l'identique avec la même appelation et position et affecté à la macro que
vous écrivez.
Bien entendu, sur l'événement BeforeClose(), vous n'oublierez pas de
restituer le Control original en détruisant le votre. Qu'en pensez-vous ?
--
Argy { MVP }
http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Tu en as une à me proposer ?

Parce que ce que je cherche c'est comment accéder à ce champ que ce soit via
une macro ou autre chose: mon problème c'est que je voudrais accéder à ce
contrôle mais je ne sais pas comment



Et tu ajoutes une macro de protection faite maison.
Daniel
"ADE" a écrit dans le message de news:

C'est gentil, mais de cette façon j'empêche l'utilisateur d'utiliser
l'option
de protection et ce n'est pas le but: je désire garder la possibilité
d'activer la protection que le champ dans lesquel on entre le mot de passe
soit inacessible ( qu'on ne puisse pas y entrer de mot de passe ).



Bonjour.
Je ne suis pas sûr de comprendre, mais tu peux désactiver l'option
"Protection" avec la commande :
Application.CommandBars.FindControl(ID:0029).Enabled = False
Cordialement.
Daniel
"ADE" a écrit dans le message de news:

Bonjour à tous et toutes,

Je cherche comment accéder au champ dans lequel on entre le Mot de
passe
de
protection de la feuille ( et du classeur) , ceci afin de le désactiver
.

Le but est que les utilisateurs puissent continuer à profiter de
l'option
de
protection sans pouvoir entrer de mot de passe.

Est-ce réalisable ?

Nous travaillons sous windows XP (Sp2) - Office XP .





















Avatar
ADE
Forte de tous ces précieux renseignements, je vais mettre tout cela en
application.

Je vous remercie infiniment pour votre aide et vous souhaite une excellente
fin de journée ...

Un gros bisous à tous les MVP !!


J'en pense que c'est bien complexe, en fait je pensais pouvoir identifier ce
contrôle ( ou plutot le 'champ password' concerné du contrôle ) et le
désactiver via les polities de WIndows , raison pour laquelle je cherchais à
identifier clairement ce contrôle.


Si, on peut, la classe de la fenêtre est bosa_sdm_XL9 et celle du textbox
est EDTBX mais je vous dit, c'est complexe...

Bien sûr je peux adopter la solution que vous préconisez, mais il me faudra
l'appliquer à chaque utilisateur et là, bien sûr ca se complique ...


Non car cela fait partie intégrante du classeur lui-même et non d'Excel.
Sur l'événement Open du Classeur vous créez le votre et désactivez par la
même le contrôle en question et c'est tout... Le menu Outils se verra alors
affecté avec ce nouvel Item ce qui est transparent pour les utilisateurs...
J'ai déjà procédé (il y a fort longtemps) à ce choix pour la fenêtre Zoom où
je ne voulais pas que les utilsateurs puissent descendre en deça de 75% et au
delà de 120% (Sous Excel 5.0) car ça plantait Excel...
Pour créer ce userForm, affichez la fenêtre de protection, faîte ALT+Impr
écran, Créez un UserForm, coller l'image et posez les mêmes contrôles
Checkboxes dans un groupe, les boutons et le TextBox avec la propriété Locked
à True puis supprimez l'image. Enfin, écrivez le code qui va avec derrière...
Je reconnais qu'il y a du travail mais cela reste une solution sympa à
mettre en oeuvre...

L' ID 30029 représente bien le UserForm affiché quand on sélectionne
'protéger le classeur' , dans ce cas comment repérer l'élément TextBox du
password ( si toutefois c'est faisable ...) ?


L' ID 30029 représente est le contrôle "Prot&ection" et non pas le UserForm...
Il est affecté à une routine interne qui appelle la boîte de dialogue
"xlDialogProtectDocument" comme si vous écriviez ceci:
Application.Dialogs(xlDialogProtectDocument).Show

--
Argy
http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Bonjour et merci de vous pencher sur mon problème.

J'en pense que c'est bien complexe, en fait je pensais pouvoir identifier ce
contrôle ( ou plutot le 'champ password' concerné du contrôle ) et le
désactiver via les polities de WIndows , raison pour laquelle je cherchais à
identifier clairement ce contrôle.

Bien sûr je peux adopter la solution que vous préconisez, mais il me faudra
l'appliquer à chaque utilisateur et là, bien sûr ca se complique ...

L' ID 30029 représente bien le UserForm affiché quand on sélectionne
'protéger le classeur' , dans ce cas comment repérer l'élément TextBox du
password ( si toutefois c'est faisable ...) ?

Merci bcp !


Bonjour,

Intervenir sur cette fenêtre me paraît bien fastidieux (je n'ai pas dit
infaisable) mais nécessitera un usage conséquent d'APIs pour la localiser
l'identifier (bosa_sdm_XL9 avec un FindWindow) et intervenir sur le control
Textbox (EDTBX) pour enfin définir ce que l'on veut...
Ce que je propose éventuellement, c'est de recréer dans un UserForm la boîte
de dialogue "xlDialogProtectDocument" à l'identique auquel cas on peut
verrouiller le contrôle TextBox en question selon le cas avec toutes les
fonctions de protection mises en place pour ce dernier.
Dès que l'utilisateur click sur l'option de protection, c'est votre UserForm
qui apparaît et non celui d'Excel.
Bien entendu il faut que votre classeur substitue le Control 30029 en lieu
et place d'un nouveau... qui appelera quelque chose comme
frmUserPasswordProtect.Show
Il faut pour ce faire rendre invisible ce contrôle, en recréer un à
l'identique avec la même appelation et position et affecté à la macro que
vous écrivez.
Bien entendu, sur l'événement BeforeClose(), vous n'oublierez pas de
restituer le Control original en détruisant le votre. Qu'en pensez-vous ?
--
Argy { MVP }
http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Tu en as une à me proposer ?

Parce que ce que je cherche c'est comment accéder à ce champ que ce soit via
une macro ou autre chose: mon problème c'est que je voudrais accéder à ce
contrôle mais je ne sais pas comment



Et tu ajoutes une macro de protection faite maison.
Daniel
"ADE" a écrit dans le message de news:

C'est gentil, mais de cette façon j'empêche l'utilisateur d'utiliser
l'option
de protection et ce n'est pas le but: je désire garder la possibilité
d'activer la protection que le champ dans lesquel on entre le mot de passe
soit inacessible ( qu'on ne puisse pas y entrer de mot de passe ).



Bonjour.
Je ne suis pas sûr de comprendre, mais tu peux désactiver l'option
"Protection" avec la commande :
Application.CommandBars.FindControl(ID:0029).Enabled = False
Cordialement.
Daniel
"ADE" a écrit dans le message de news:

Bonjour à tous et toutes,

Je cherche comment accéder au champ dans lequel on entre le Mot de
passe
de
protection de la feuille ( et du classeur) , ceci afin de le désactiver
.

Le but est que les utilisateurs puissent continuer à profiter de
l'option
de
protection sans pouvoir entrer de mot de passe.

Est-ce réalisable ?

Nous travaillons sous windows XP (Sp2) - Office XP .























1 2