| Tu peux désactiver ou protéger les feuille contre toutes les actions.
sinon tu peux caher ton code avec un mot de passe (faut voir dans les options de Visual Basic Editor) comme ça ton code sera protégé
mais pour produire un executable sous excel , c'est impossible , je le confirme, j'ai même assisté à un séminaire de Microsoft où cette question à été posée.
time is not money, time is life Répondre à filaliabdou | 12 yba, le 8 jan 2004 à 16:12:31Tu dis que l'on peux désactiver ou protéger les feuille contre toutes les actions.
Je cherche actuellement à empêcher, sur une feuille protégé, le fait qu'on puisse changer son nom.
Je ne peux pas simplement protéger le classeur car toutes les autres feuilles du classeur ne sont pas concernées par cette protection.
Merci d'avance si une solution existe en vba.
youcef Répondre à yba | Cela depend de ce que tu veux faire.
Les usagers de ton appli ont ils besoin de voir ta feuille ou non?
Si oui, ben ca va etre dur car j'ai un peu regardé et il est vrai que la fonction protect peut tout verrouiller excepter le nom d'onglet...
Si non, alors là c'est assez simple, meme pas besoin de code: tu vas dans ces propriete vba et tu lui dis SheetNotVisible.
Tiens moi au courant ;-)
Poiloulpilou! Répondre à haque_coucou | 14 yba, le 9 jan 2004 à 09:46:18Bonjour,
Merci très beaucoup pour ta réponse,
malheureusemnt je m'attendais à ce que soit non positif car cette feuille doit rester pour de multiples raisons visible car par exemple quand on ouvre un classeur vierge de tout travail cette feuille est la seule présente et dans ce cas je ne peux pas la rendre non visible.
En tout les cas merci pour le coup de main.
Je continue à réfléchir et je tiens au courant en cas de miracle.
A bientôt.
youcef Répondre à yba | Dans ces cas la, tu n'as pas 36 solutions.
La seule que je vois, c'est de faire la mise a jour du nom a chaque evenement du classeur: on open, on change... C'est la seule maniere, a ma connaissance d'avoir un minimum de probleme sur ce nom de feuille...
Poiloulpilou! Répondre à haque_coucou |
| 16 yba, le 9 jan 2004 à 15:39:01Je n'ai pas saisi ton astuce, de quel évenement parles-tu ? Répondre à yba | En fait,tu ne peux pas empecher le changement de nom mais tu peux le reinitialiser quand ca t'interesse et sans trop charger ta machine. Par exemple, a chaque ouverture du classeur (on open) tu renomme ta feuille a ta convenance. A chaque fermeture aussi (on close) etc.
Tu vois ce que je veux dire?
Poiloulpilou! Répondre à haque_coucou |
| 18 yba, le 9 jan 2004 à 16:07:16J'ai du mal à te suivre , je m'explique :
L'utilisateur ouvre le fichier il cree un nombre d'onglets aléatoire.
A un moment il change le nom de cet onglet par mégarde.
Comment à ce moment la que ce soit à la fermeture du fichier ou à la prochaine ouverture de celui-ci je peux savoir quel onglet a été changer de nom parmi les n présents ?
Pour l'instant en attendantmieux j'avertis verbalement l'utilisateur que le changement de nom de cet onglet est interdit.
faute de grive ....... Répondre à yba | Ha ben pi mais non,la...
Soit tu pris tres fort pour que ton onglet soir tjs placer en 1er et dans ce cas tu peux le renommer en aveugle soit....
Non, je blague. En informatique,il y a tjs un moyen.
Par exemple, tu testes toutes tes feuilles sur des données succeptibles de s'y trouver: Par exemple le titre en A1 ou des données situées dans des cellules cachées...
Poiloulpilou! Répondre à haque_coucou |
| 20 yba, le 9 jan 2004 à 16:18:52J'ai effectivement pensé à ce genre de test, cela devrait fonctionner.
Une autre question :
Je crée un nouveau menu au lancement du fichier.
Je veux rendre inactif (propriété enabled à faux) un élément d'un menu après sa création, est-ce possible ?
Quand je parcours la collection "commanBar", celle-ci comporte tous les menus et sous menus de Excel sauf le mien !!!
Une idée ?
Merci d'avance.
Désolé pour l'abus.
youcef Répondre à yba | Ce que tu veux masquer, c'est une des commande de menu par defaut ou c'est une des commandes de TON menu?
Si c'est ta barre,voila la commande:
Application.CommandBars("ma_barre").Visible = false si tu veux masquer ta barre entiere
Application.CommandBars("ma_barre").Controls(1).visible)false
si tu veux juste masquer le 1er bouton de ta barre
Ca roule?
Poiloulpilou! Répondre à haque_coucou |
| 22 yba, le 9 jan 2004 à 16:34:07Je me suis mal exprimé.
Je voudrais rendre inactif un élément de mon menu, pas d'un menu prédéfini.
Quand j'essaye d'accéder à ce menu dans un autre module de code alors celui-ci ne m'est pas accessible !
Què qten penses ti ?
youcef Répondre à yba | Quel est exactement cet element de ton menu stp?
Si il s'agit d'un element de TON menu, celui que tu as creer,okay, pas de pb, tu appliques la commande que je t'ai donné et c'est bon...
Poiloulpilou! Répondre à haque_coucou |
| 24 yba, le 9 jan 2004 à 17:03:45Ce que tu dis dois effectivement marcher, je m'en vais tester fissa fissa.
En tous les cas merci beaucoup de ta patience et de ta compréhension et j'espère à bientôt sur les ondes.
Je suis un fan de science fiction et dans ce genre il est de bon ton de penser que nous ne sommes pas seuls.
Alors la je confirme car à part sur Internet, comment trouver un fan de Johnny "Ah que coucou" baleise en VBA !!! ;-)
Je ne pense pas que je puisse un jour te donner des conseils en vba un jour mais sinon tu peux compter sur moi.
Encore une fois merci
youcef Répondre à yba |
|
|
|
|
|
|
|
|