FAQ Excel
FAQ ExcelConsultez toutes les FAQ
Nombre d'auteurs : 46, nombre de questions : 845, dernière mise à jour : 30 mars 2022
- Comment utiliser les mises en forme conditionnelles ?
- Comment utilise-t-on le format conditionnel par macro ?
- Comment utiliser une formule dans une mise en forme conditionnelle Excel 2007 ?
- Comment modifier la priorité des mises en forme conditionnelles dans Excel 2007 ?
- Pourquoi les mfc ne sont pas toujours conservées lors du collage de cellules dans une autre classeur ?
- Comment créer une barre de progression dans une cellule par MFC Excel 2007 ?
- Est-il possible d'utiliser une fonction personnelle dans une formule de mise en forme conditionnelle ?
La mise en forme conditionnelle applique un format (ombrage de cellule, couleur de police ou de cadre) automatiquement si une condition particulière est remplie. La MFC permet ainsi de mettre en évidence et de visualiser rapidement certaines données dans un tableau de résultats.
Pour plus de détails, consultez le tutoriel sur les mises en formes conditionnelles.
Le code suivant va mettre un fond vert à toutes les cellules dont la valeur est doublonnée dans la première colonne.
Dim
ObjRange As
Range
Set
ObjRange =
Range
(
"A1"
).EntireColumn
With
ObjRange.FormatConditions
.Add
Type
:=
xlExpression, Formula1:=
"=NB.SI(C1;LC)>1"
.Item
(
.Count
).Interior.Color
=
vbGreen
End
With
Pour utiliser une formule :
Sélectionnez la ou les cellules.
Cliquez sur l'option Nouvelle règle dans le menu du bouton Mise en forme conditionnelle.
Sélectionnez Utiliser une formule ... dans le champ Type de règle.
Saisissez votre formule.
Choisissez le format de mise en forme (bouton Format).
Cliquez sur le bouton OK pour valider.
Lorsque vous appliquez plusieurs mefc à une plage de cellules, chaque nouvelle règle ajoutée devient automatiquement la priorité
principale.
Si plusieurs règles sont vraies et qu'elles rentrent en conflit (par exemple si chaque mise en forme applique une couleur de fond
différente dans les cellules), seule la règle prioritaire est prise en compte.
Pour changer l'ordre des priorités :
Sélectionnez la plage de cellules contenant les mises en forme.
Sélectionnez l'onglet Accueil, groupe Style, cliquez sur le bouton "Mise en forme conditionnelle", puis sélectionnez
l'option "Gérer les règles".
La boîte de dialogue s'affiche à l'écran.
Assurez-vous que l'élément "Sélection actuelle" est activé dans le menu déroulant "Afficher les règles de mise en forme".
La priorité principale se trouve sur la première ligne, la deuxième priorité sur la deuxième ligne ... etc ...
Sélectionnez la règle à déplacer.
Cliquez sur les flèches "Monter" ou "Descendre" pour déplacer la règle.
Vous pouvez aussi cocher l'option "Interrompre si Vrai" pour limiter l'évaluation à une priorité particulière.
Cliquez sur le bouton OK pour valider.
Vérifiez que les deux classeurs sont bien dans la même instance.
Il n'est pas possible de transférer les mises en forme lorsque vous effectuez le collage vers un classeur qui est dans une
instance différente du classeur d'origine.
Par exemple, vous souhaitez afficher une barre de données progressive dans la cellule B1 en fonction de la date du jour, d'une date de départ et d'une date finale.
En A1, est saisie la date de départ.
En B1, vous saisissez la formule =AUJOURDHUI
()-A1
En C1, vous indiquez la date de fin.
Sélectionnez la cellule B1.
Cliquez sur le bouton de mise en forme conditionnelle (onglet Accueil / groupe Style).
Sélectionnez le bouton "Nouvelle règle".
Sélectionnez le type "Mettre en forme toutes les cellules d'après leur valeur".
Choisissez "Barre de données" dans le champ "Style de mise en forme".
Sélectionnez "Nombre" dans le champ Type "Barre la plus courte" et indiquez la valeur 0.
Sélectionnez "Formule" dans le champ Type "Barre la plus longue" et saisissez =$C$1
-$A$1
.
Choisissez la couleur de la barre de donnée.
Remarque : le contenu de la cellule B1 peut être masqué en cochant l'option "Afficher la barre uniquement".
Cliquez sur le bouton OK dans toutes les boîtes de dialogues.
La barre de données progressive apparait dans la cellule B1 en fonction de la date du jour, de la date finale et de la date initiale.
Cet exemple montre comment utiliser une fonction personnelle (ContientFormule) qui permet de vérifier si une cellule contient une formule.
Placez la fonction dans un module standard du classeur :
Function
ContientFormule
(
objCell As
Range) As
Boolean
'Renvoie Vrai si la cellule passée en paramètre contient
'une formule.
'Sinon, la fonction renvoie False.
ContientFormule =
objCell.HasFormula
End
Function
Ensuite, sélectionnez la plage de cellule qui va recevoir la mefc (A1:A10).
Choisissez une condition 'La formule est :'.
Saisissez le formule suivante dans la zone de saisie :
=ContientFormule(A1
)
Appliquez un format.
Cliquez sur le bouton OK pour valider.