Comment transformer les mises en forme conditionnelles en mises en forme réelles sur Excel ?
Dans ce tutoriel, nous allons apprendre à convertir les mises en forme conditionnelles en mises en forme réelles sur Excel en un seul clic. Cette astuce vous permettra de simplifier vos feuilles de calcul en supprimant les règles de mise en forme conditionnelle tout en conservant le formatage appliqué. Suivez-nous étape par étape pour maîtriser cette technique.
Téléchargement
Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :
Tutoriel Vidéo
1. Qu’est-ce qu’une mise en forme conditionnelle ?
La mise en forme conditionnelle est une fonctionnalité puissante d'Excel qui permet de formater automatiquement les cellules en fonction de certaines conditions. Cela signifie que vous pouvez définir des règles ou des critères, et Excel appliquera un formatage spécifique aux cellules qui satisfont ces conditions.
Pour illustrer cette fonctionnalité, nous pouvons partir de ce relevé de notes :
Ici, par exemple, nous pouvons souhaiter que les trois notes les plus élevées soient affichées en verte :
Pour cela, nous commençons par sélectionner les cellules de la colonne « Note »
Ensuite, nous nous rendons dans le menu Accueil > Mise en forme conditionnelle > Règles des valeurs de plage haute/basse, puis nous sélectionnons l’option « 10 valeurs les plus élevées… »
Excel nous affiche alors une boîte de dialogue qui va nous permettre de personnaliser la mise en forme conditionnelle à appliquer sur les cellules sélectionnées.
Ici, nous choisissons d’appliquer la mise en forme conditionnelle sur les trois cellules les plus élevées, avec un « Remplissage vert avec texte vert foncé ».
Nous pouvons également afficher en rouge toutes les notes inférieures à la moyenne.
Cette fois, nous choisissons le sous-menu « Règles de mise en surbrillance des cellules » puis « Inférieur à… » depuis le menu Mise en forme conditionnel.
Comme tout à l’heure, Excel nous affiche alors une boîte de dialogue sur laquelle nous allons pouvoir appliquer une mise en forme avec un « Remplissage rouge clair avec texte rouge foncé » sur les cellules pour lesquelles la valeur est inférieure à 10 :
Il est important de noter que cette mise en forme n'est que visuelle et dépend des conditions spécifiées. Cela signifie que si les notes changent ou si de nouveaux étudiants sont ajoutés, la mise en forme conditionnelle s'adaptera automatiquement en fonction des nouvelles données.
Cependant, il y a des situations où vous souhaiterez que le formatage reste le même, même si les données changent.
De plus, lorsque vous partagez un fichier Excel avec d'autres personnes, les règles de mise en forme conditionnelle peuvent être perdues ou modifiées accidentellement.
C'est là qu'intervient la conversion en mises en forme réelles.
Elle garantit que le formatage que vous avez appliqué reste inchangé, quelles que soient les modifications apportées aux données ou le logiciel utilisé pour ouvrir le fichier.
2. Convertir la mise en forme conditionnelle en mise en forme réelle
Pour effectuer cette opération de conversion, nous allons devoir développer une petite macro commande en VBA.
Pour que ce tutoriel soit facilement compréhensible par tous, cette macro sera très simple.
Mais si vous souhaitez en savoir plus sur les macros VBA, cliquez simplement ici.
Pour commencer, nous allons devoir ouvrir l’éditeur de code VBA.
Pour cela, il existe plusieurs méthodes, la plus simple étant d’utiliser le raccourci clavier [Alt]+[F11].
Une fois que l’éditeur est ouvert, nous allons devoir insérer un nouveau module pour y saisir la macro.
Pour cela, nous nous rendons dans le menu Insertion > Module.
Ensuite, nous nous plaçons sur cette nouvelle feuille de code, et pour y insérer une nouvelle macro, nous utilisons le mot-clé « Sub », suivi du nom de la macro, par exemple « ConvertirMiseEnFormeConditionnelle ».
Cette ligne est le point de départ de la définition de la macro.
Sub ConvertirMiseEnFormeConditionnelle()
End Sub
Lorsque nous validons la création de la macro en appuyant sur la touche [Entrée], Excel ajouter automatiquement la ligne « End Sub », qui vient clore la macro.
Ainsi, tout ce que nous allons saisir entre ces deux lignes sera exécuté automatiquement à chaque fois que nous appelons la macro.
Cela étant fait, nous allons déclarer une variable nommée « c » est déclarée avec le type « Range ».
Cette variable sera utilisée pour itérer à travers chaque cellule dans la sélection active.
Dim c As Range
Puis, nous allons utiliser cette variable afin de mettre en place une boucle « For Each », laquelle va nous permettre de passer en revue chaque cellule dans la sélection active.
La variable « c » prendra la valeur de chaque cellule à chaque itération.
For Each c In Selection
Next
Maintenant, nous allons pouvoir appliquer le format mis en place au travers des mises en forme conditionnelles de chaque cellule de la sélection en tant que format réel de la cellule.
Dans un premier temps, nous allons récupérer la couleur du texte :
c.Font.Color = c.DisplayFormat.Font.Color
Dans cette ligne, la couleur de police de la cellule est réglée pour correspondre à la couleur de police de la mise en forme conditionnelle de la cellule.
En effet, « .Font.Color » représente la couleur de police, et « .DisplayFormat.Font.Color" représente la couleur de police de la mise en forme conditionnelle actuellement visible dans la cellule.
Cette propriété « DisplayFormat » est donc très pratique car elle permet d'obtenir la couleur de police telle qu'elle est affichée à l'écran grâce à la mise en forme conditionnelle, ce qui nous permet de la transférer à la cellule elle-même.
Cela garantit que le texte conserve la même apparence visuelle que celui défini par la mise en forme conditionnelle, même après la suppression de cette mise en forme conditionnelle.
Ensuite, pour modifier la couleur de fond de la cellule, nous utilisons la propriété « Interior.Color », exactement de la même manière :
c.Interior.Color = c.DisplayFormat.Interior.Color
Pour cet exemple, nous nous arrêtons ici, mais nous pourrions bien entendu aller beaucoup loin en récupérant également les autres propriétés de la cellule (gras, italique, souligné, couleur et forme de bordure,…), en fonction de vos besoins :
N’hésitez pas à télécharger le fichier accompagnant ce tutoriel pour obtenir une liste des options de formatage des cellules que nous pouvons obtenir.
Pour terminer la macro, il ne reste plus qu’à supprimer la mise en forme conditionnelle mise en place sur les cellules sélectionnées en utilisant la commande suivante, juste après avoir la boucle « For Each » :
Selection.FormatConditions.Delete
Cela permet de convertir la mise en forme conditionnelle en une mise en forme normale des cellules.
Maintenant, même si nous modifions l’une des valeurs sur laquelle une mise en forme est appliquée, cette dernière restera inchangée :