Icône de la ressource

Aide à la mise au point des Règles de Mise en Forme Conditionnelle (MFC) V1

Problématique

La mise au point des règles de Mise En Forme Conditionnelle (MFC) peut s'avérer fastidieuse, particulièrement si on a dû effectuer des modifications après avoir déjà mis au point une partie des règles MFC.
Les modifications de présentation d'une feuille, les actions sur les cellules, plages, lignes ou colonnes (Insertion, Copier-Coller...) peuvent si l'on n'est pas vigilant, aboutir à un vrai bazar dans les règles MFC, multiplication inutile des règles, voire des incohérences.
La minuscule fenêtre "Gestionnaire des règles de Mise en Forme Conditionnelle" ne permet de visualiser que 4 règles à la fois, ce qui rend délicat la mise au point, la détection et la correction des erreurs.

Le fichier à télécharger met à disposition un ensemble de macros pour y remédier en partie.

- Un groupe de macros pour harmoniser, simplifier, corriger les règles MFC. Leurs actions portent sur les plages d'application des règles.
- Une macro qui liste l'ensemble des règles MFC (d'une plage) avec leurs propriétés sous forme de tableau. La vérification des règles MFC en est grandement facilitée.

La feuille MFC Test permet de tester les différentes macros

Elle présente 4 versions d'un même Tableau avec pour chacun, son jeu de règles MFC.
Le 1er tableau correspond au Modèle attendu, dans les 3 suivants, des adaptations sont nécessaires pour être conforme au Modèle.
3 boutons Harmoniser ..., Retirer... et Intégrer... permettent d’activer la macro la plus adaptée à chaque tableau à corriger.
Pour chaque macro, la détermination des plages est faite de manière interactive par l'intermédiaire d'une boite de dialogue où l'on définit la plage (contigüe ou non) soit à l'aide de la souris, soit en tapant son adresse.
Le bouton Réinitialiser les Règles MFC ... permet après les tests, de remettre les règles MFC des différents tableaux à leur état initial (par copie de la Mise en Forme depuis la feuille "MFC Réinit").
Le bouton Lister les Règles MFC ... active la macro qui liste les règles MFC dans la feuille "Liste des MFC"

1706877302932.png


La feuille
Liste des MFC

Elle présente, pour une plage sélectionnée, l'ensemble des règles MFC sous la forme d'un tableau.
Chaque ligne du tableau correspond à une règle MFC avec toutes ses propriétés (Type de règle, Plage de validité, Ordre, Formule ...).
Pour une meilleure lisibilité, Les Mises en Forme concernant la Police, le Remplissage et les Bordures sont également reproduites dans le tableau :
Par exemple pour une MFC Police Gras Rouge, les cellules du tableau correspondant aux propriétés de la Police seront avec une Police Gras Rouge. Le même principe est appliqué même pour le Remplissage (Uni, avec Dégradé ou Motif) et les Bordures.
L'affichage de la liste est déclenché par la macro ListerMFC.

Les Éléments du Code VBA

Le module Module1_HarmoniserMFC est constitué de 3 groupes de 3 macros, avec pour chaque groupe :
  • la macro principale avec en paramètre la (ou les) plage(s) utilisées par la macro.
    • IntegrerPlageDansMereMFC
    • RetirerPlageMFC
    • HarmoniserPlageMFC
  • la macro de définition de la (ou des) plage(s) utilisées par la macro.
    • PlagesPourIntegrerPlageDansMereMFC
    • PlagesPourRetirerPlageMFC
    • PlagePourHarmoniserPlageMFC
  • La macro exécutée sur l'activation du bouton associé à la macro
    • IntegrerPlageDansMereMFC_Interactif
    • RetirerPlageMFC_Interactif
    • HarmoniserPlageMFC_Interactif
Le module Module2_Macros_Plages est constitué d'un ensemble de macros de manipulation de Plages de cellules
C'est une copie du module Module_RangeFunctions extrait sur ce site depuis Téléchargements -> Leçons et Tutoriaux -> VBA - Fonctions faciles de manipulation de Ranges V7
Les macros du module Module1_HarmoniserMFC font appel à ces macros 👍

Le module
Module3_ListerMFC contient le code qui permet d’afficher le tableau des règles MFC d’une plage.
La macro à appeler est ListerMFC

Mise en œuvre

Dans votre fichier Excel,
  • Copier la feuille Liste des MFC.
  • Copier les 3 modules dans le projet VBA.
  • Dans le code VBA du module Module1_HarmoniserMFC , pour les actions d’Harmonisation de Règles MFC, d'Intégration ou de Retrait de Plages :
    • Soit appeler directement les macros IntegrerPlageDansMereMFC, RetirerPlageMFC ou HarmoniserPlageMFC si les plages utilisées sont déjà déterminées au moment de l'appel
    • Soit appeler les macros IntegrerPlageDansMereMFC_Interactif, RetirerPlageMFC_Interactif ou HarmoniserPlageMFC_Interactif si les plages sont à sélectionner au moment de l'appel.
Auteur
crocrocro
Version
V1