[RESOLU] Comment interdire l'accès au gestionnaire de mise en forme conditionnelle

Mic13710

XLDnaute Junior
Bonjour à tous,

J'ai un fichier dont toutes les feuilles sont protégées, sauf une.
Le soucis, c'est qu'à partir de cette feuille non protégée il est possible de modifier les MFC des autres feuilles en passant par le gestionnaire de mise en forme conditionnelle.
Pas glop, surtout qu'il y en a pas mal, et pas bien logique pour des feuilles sensées être verrouillées.
Existe t'il un moyen en VBA d’empêcher l'utilisateur de pouvoir modifier les MFC des autres feuilles, et si ce n'est pas possible, comment peut-on interdire l'accès au gestionnaire, voire au menu des MFC ?

Merci d'avance pour votre aide.

Michel
 
Dernière édition:

adel53

XLDnaute Occasionnel
Re : Comment interdire l'accès au gestionnaire de mise en forme conditionnelle

Bonjour un essai à ajouter dans thisworkbook
Code:
Private Sub Workbook_open()
    'protection du fichier
    ActiveSheet.Protect Password:="mdp", DrawingObjects:=True, Contents:=False, Scenarios:=False
End Sub
 

Mic13710

XLDnaute Junior
Re : Comment interdire l'accès au gestionnaire de mise en forme conditionnelle

Merci adel53 pour la réponse.
Malheureusement, ça ne me convient pas car je ne veux pas protéger cette feuille qui est modifiable par l'utilisateur.
Ce que je cherche plutôt c'est inhiber ou cacher le menu des MFC et si ce n'est pas possible, carrément tout le bloc "Style" du menu Accueil.
 

Mic13710

XLDnaute Junior
Re : Comment interdire l'accès au gestionnaire de mise en forme conditionnelle

Après quelques recherches, il s'avère que ce n'est pas simple. La seule option semble être de devoir passer par le custom UI editor.
Bref, pourquoi faire aussi simple que sur les versions avant 2007 quand on peut faire compliqué.

Donc, à moins que quelqu'un ait une solution toute faite, je vais attendre un petit peu avant de m'y atteler.
 

adel53

XLDnaute Occasionnel
Re : Comment interdire l'accès au gestionnaire de mise en forme conditionnelle

Bonjour

Personnellement je pense que modifier le ruban pour accomplir cette tache n'est pas opportun.
Si tu penses vraiment qu'il y a un risque que les utilisateurs modifient les mfc pour quoi ne pas supprimer les règles de mise en page et les appliquer automatiquement via VBA. Avec un code qui par exemple s’exécute à l'ouverture et ainsi écrase les mise ne forme non conforme avec ce que tu avais paramétré au début.
 

Mic13710

XLDnaute Junior
Re : Comment interdire l'accès au gestionnaire de mise en forme conditionnelle

Salut adel53 mon voisin d'Aix en Provence.

Merci pour la réponse. Mon utilisateur n'est pas un nerveux d'excel. Pour tout dire, il ne sait pas (encore) ce que sont les mfc et je doute fort qu'il le sache un jour. C'est plutôt les fausses manips que je crains, ou qu'un jour mon utilisateur change et que je tombe sur un fouineur de première qui lui aussi risque de me casser mon bel ouvrage par excès de zèle.
Ecrire un code pour restaurer les mfc, c'est une idée, mais il y en a tellement que je risque d'y passer des plombes.
Et puis il y a le plaisir de la découverte d'un nouvel espace de jeu et je suis assez tenté d'aller y jeter un oeil même si à priori ça ne semble pas évident. De toute manière je n'ai pas le temps pour l'instant et je vais laisser murir le projet quelques temps encore.

Michel de Fuveau
 

adel53

XLDnaute Occasionnel
Re : Comment interdire l'accès au gestionnaire de mise en forme conditionnelle

Bonjour Michel

J'ai travaillé longtemps à meyreuil pas loin de chez toi :)

Voici le fichier comme tu le souhaitais sans vba sans protection avec modification du ruban.
J'ai utilisé custom ui editor pour le modifier. J'ai simplement caché la partie qui correspond à la modification des styles.
Ci-dessous un tuto intéressant.
La personnalisation du ruban sous Excel 2007

Si jamais tu as une autre demande ou question n'hésites pas.
 

Pièces jointes

  • Classeur1.xlsx
    8.8 KB · Affichages: 85
  • Classeur1.xlsx
    8.8 KB · Affichages: 86
  • Classeur1.xlsx
    8.8 KB · Affichages: 90

Mic13710

XLDnaute Junior
Re : Comment interdire l'accès au gestionnaire de mise en forme conditionnelle

Meyreuil avec sa centrale et son "énorme" cheminée n'est pas loin en effet.

Quand je parlais de me mettre a étudier le custom ui editor, je pensais précisément au même site que ton lien.
Super ton fichier, c'est exactement ce dont j'ai besoin. Me reste plus qu'à faire de même sur le mien....
 

Mic13710

XLDnaute Junior
Re : Comment interdire l'accès au gestionnaire de mise en forme conditionnelle

Bonsoir adel53

J'ai analysé le code et il n'est finalement pas très dur à comprendre. On peut certainement être plus précis et cibler uniquement le gestionnaire de mise en forme conditionnelle.
Ceci dit Je me suis pas embêté, j'ai carrément copié le custom ui de ton fichier dans le mien et ça marche nickel.
J'ai mis le même code pour 2007 et 2010.
Merci adel pour cette solution qu'il va falloir que je creuse pour mon besoin, et bon we !
 
Dernière édition:

adel53

XLDnaute Occasionnel
Re : Comment interdire l'accès au gestionnaire de mise en forme conditionnelle

Bonsoir michel

J'ai essayé de cacher que la partie qui concerne la mfc sans succès peu être que j'ai pas la bonne syntaxe.
Bon courage pour la suite de ton projet
 

Mic13710

XLDnaute Junior
Re : Comment interdire l'accès au gestionnaire de mise en forme conditionnelle

Bonjour Adel,

Merci d'avoir continué à chercher. En fait c'est sur le contrôle "Command" qui faut agir.
Ci-joint ton fichier modifié sur lequel seulement le gestionnaire n'est plus accessible, soit 'presque' exactement ce que je souhaite faire, car la modification est permanente pour le fichier.
Le suite va être de pouvoir gérer ces modifications du ruban par macro à l'aide de fonctions VBA, car je ne veux pas m'amuser à jouer à chaque fois avec le customuieditor pour me donner accès à la totalité des menus et me permettre de travailler sur mon fichier.
C'est semble t'il possible avec les Generate CallBacks.
Sujet résolu. Merci pour ta précieuse aide.
 

Pièces jointes

  • Classeur1.xlsx
    8.8 KB · Affichages: 68
  • Classeur1.xlsx
    8.8 KB · Affichages: 71
  • Classeur1.xlsx
    8.8 KB · Affichages: 83

Mic13710

XLDnaute Junior
Re : [RESOLU] Comment interdire l'accès au gestionnaire de mise en forme conditionnel

Bonjour le forum,

Un petit dernier pour la route. Au lieu du enable = "false" qui est statique on peut utiliser le on Action et pour les onglets au lieu du Visible = "false", une fonction plus intéressante est le getVisible.
Et avec ça j'ai résolu mon besoin. Il suffit d'attribuer ensuite la valeur True or false aux cancelDefault et returnedVal suivant les besoins, et ça marche nickel.
Il faut bien entendu un xlsm pour que les CallBacks fonctionnent.
Voici un fichier sur lequel cancelDefault = True et returnedVal = False.
Il suffit de modifier ces valeurs, sauvegarder, fermer puis ouvrir le fichier pour voir les changements.
 

Pièces jointes

  • Classeur1.xlsm
    14.9 KB · Affichages: 75
  • Classeur1.xlsm
    14.9 KB · Affichages: 70
  • Classeur1.xlsm
    14.9 KB · Affichages: 69

adel53

XLDnaute Occasionnel
Re : [RESOLU] Comment interdire l'accès au gestionnaire de mise en forme conditionnel

Bonjour Michel

Merci pour ton retour d'expérience.
Bonne continuation et à binetot pour d'autres problématiques.
 
Dernière édition:

Mic13710

XLDnaute Junior
Re : [RESOLU] Comment interdire l'accès au gestionnaire de mise en forme conditionnel

Salut Adel53,

Oui, le sujet et noté résolu depuis samedi matin.
Je continue à creuser les possibilités offertes pour personnaliser le ruban et maintenant que j'ai compris comment ça marchait, j'ai aussi compris qu'il était extrêmement facile pour un bricoleur informatique de la supprimer en une poignée de secondes.
Je suis donc à la recherche d'un moyen de vérifier en VBA que le ruban personnalisé existe, mais rien de tangible pour le moment.
Si tu as une idée, je suis preneur.

Bonne semaine,

Michel
 

Discussions similaires

Statistiques des forums

Discussions
311 716
Messages
2 081 848
Membres
101 826
dernier inscrit
dododu89