Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

RÉGLÉ : Masquer le menu "Data" et quelques autres... sous XL2010 et XL2007

  • Initiateur de la discussion Initiateur de la discussion cavo789
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

cavo789

Guest
Bonjour à tous

Après avoir cherché longuement sur Google et fait plusieurs essais, je ne parviens nullement à faire ce que j''aimerai : désactiver l'un ou l'autre menu natif de Excel.

Je développe une application Excel 2010 déjà composée de 24.000 lignes de code et je voudrai la sécuriser un maximum. L'un des aspects de cette sécurisation passe par la suppression de l'un ou l'autre menu standard et principalement "Data" : je ne souhaite pas que l'utilisateur de l'application puisse avoir accès au menu de données, celui qui permet entre autre d'afficher la liste des connexions et/ou de rafraîchir le classeur. Tout est géré par mon code VBA et je ne veux donc pas que l'utilisateur puisse avoir accès à ces options via Excel.

J'ai déjà essayé un .commandbars.findcontrol() puis un .delete mais c'est sans effet. Le menu reste bien présent.

Auriez-vous l'un ou l'autre tuyau à me donner ?

Merci par avance !
 
Dernière modification par un modérateur:
Re : Masquer le menu "Data" et quelques autres... sous XL2010 et XL2007

Salut Christophe, le forum,

Ca peut se faire simplement et manuellement...et donc ça doit forcément pouvoir se faire en VBA.
En recherchant dans mes favoris j'ai retrouvé ce lien Change the Ribbon in Excel 2007 or Excel 2010 (en anglais) où tu devrais pouvoir tout savoir sur le ruban.
Va falloir faire un peu de XML mais vu que tu fais joujou avec Joomla, ça ne devrait pas te poser de problème 😉

Bon courage.
 
Re : Masquer le menu "Data" et quelques autres... sous XL2010 et XL2007

Bonjour

Désolé de mon retard... je n'ai pas été avisé d'une réaction à ma question.

Merci d'y avoir répondu. Sauf si je n'ai pas les yeux en face des trous, le lien que tu me communiques permet de programmer sa propre barre d'outils. Ce que je fais déjà. Mon XML fait plusieurs centaines de lignes 🙂

Mon souhait est de supprimer un menu standard de Excel : je ne veux pas, tant que mon fichier est actif, que l'utilisateur puisse utiliser le menu Data - Connections de Excel. Je ne souhaite pas qu'il puisse avoir accès à l'écran des queries se trouvant dans mon fichier car cela lui donne un certain nombre d'informations (noms des queries, locations, connection strings, etc.) et ça, je ne le souhaite pas. Dans l'optique d’accroitre un maximum la sécurité de mon application Excel, ce type d'information doit être caché.

Si tu as un autre favori... 🙂

Merci.
 
Re : Masquer le menu "Data" et quelques autres... sous XL2010 et XL2007

Salut cavo,

Ce que je disais c'est qu'on peut afficher/masquer des onglets du ruban (cf capture) via le menu Option>Personnaliser le ruban.
Donc cela doit pouvoir se faire via la personnalisation du ruban, d'où mon lien.

Par contre je ne pense pas que tu puisses en interdire l'accès (autant avec les versions précédentes il y avait des solutions, autant là j'ai pas essayé).
Ce que tu peux faire pour protéger au mieux ton fichier c'est:
- Masquer les noms
- Masquer les onglets (en veryhidden)
- Protéger le code



Avec ces 3 points, tu devrais être relativement bien protégé.
Une autre solution, serait de transférer les informations de connexions, nom de queries etc...dans un fichier type INI ou en registry (ce ne serait pas ma préférence), ou carrément dans une base de donnée...bref y'a plein de solution mais aucune de vraiment satisfaisante. A toi de voir.

Bon courage.

Edit: Salut MJ13
 
Bonjour à vous deux et merci pour vos réactions. Bizarre, je n'ai aucune notification de réponses sur ce post...

[EDIT]Ok, compris, il faut paramétrer l'envoi d'un mail et non pas avoir une notification dans le panneau de contrôle[/EDIT]

@MJ13 : You got it !

Au bas de la page que tu as proposé, une information que je n'avais jamais lue jusqu'ici : le XML peut contenir une référence vers les onglets existant et ... les masquer.

Code:
<tab idMso="TabData" visible="false"/>  
<tab idMso="TabReview" visible="false"/> 
<tab idMso="TabDeveloper" visible="false"/> 
<tab idMso="TabInsert" visible="false"/>

Encore mieux,
Code:
<tab idMso="TabData" getVisible="canSeeDevelopperActions"/>  
<tab idMso="TabReview" getVisible="canSeeDevelopperActions"/> 
<tab idMso="TabDeveloper"getVisible="canSeeDevelopperActions"/> 
<tab idMso="TabInsert" getVisible="canSeeDevelopperActions"/>

canSeeDevelopperActions est une fonction dans mon code qui récupère le Network username (type DOMAIN\User) et qui va lire une table de ma base de données SQL Server pour retrouver les permissions de l'utilisateur. Une de ces permissions permet de savoir si cet utilisateur est un développeur, auquel cas la fonction caSee retourne True et l'onglet est donc affiché.

Yes! C'est ce que je voulais obtenir.


@Jam : merci. Déjà fait tout ça et même plus. Par exemple, les connections utilisées dans les queries sont cryptés. Ainsi, l'utilisateur qui affichait la liste des connexions du classeur voyait juste une chaîne de caractères cryptées, totalement incompréhensible. Par code, au moment exact du besoin de rafraîchir les données (.refresh), je vais d'abord un UnCrypt puis le refresh puis un Crypt à nouveau.

Mon application Excel aura une large diffusion, je souhaite donc le "blinder" au maximum du maximum.

L'étape que je vois encore à réaliser est d'utiliser un logiciel de brute-force pour tenter de casser mon mot de passe. Tente de comprendre comment fonctionne ce type de logiciel : est-ce qu'ils font un reset du mot de passe ou tentent-ils vraiment de le retrouver ? Dans le second cas, cela risque de prendre des années : mon mot de passe à l'ouverture en écriture du fichier fait 14 caractères (type xlu#ç};°mk15./) et le mot de passe pour voir le code lui en fait 20. 🙂

MERCI pour vos réponses.

[EDIT]Je ne trouve pas un bouton "Réglé" pour noter le message comme résolu...[/EDIT]
 
Dernière modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…