Mise en forme conditionnelle basée sur mots-clés
Par 78chris

Le , par vpet, Nouveau membre du Club
Bonjour,

Je ne parviens pas à utiliser la mise en forme d'une cellule contenant du "texte".

Voici un exemple simpliste qui résume assez bien ma problématique :

Une cellule peut prendre les valeurs :
[ Trés bon / Bon / Moyen / Mauvais / Trés mauvais ]

J'aimerai afficher une jauge exprimant visuellement le niveau de satisfaction.
Pour ce faire, je voulais utiliser une "barre de données" (voire un "jeu d'icones").
La difficulté vient du fait que le texte réel de la cellule doit être affiché sur la jauge. Je ne peux donc pas utiliser une autre cellule dans laquelle j'aurai converti le texte en nombre.

Les valeurs possibles se trouvent dans une liste déroulante. Possibilité d'utiliser l'index ? ou faire une recherche dans une matrice donnant une correspondance numérique ?

Question subsidiaire :
J'aimerai appliquer sur une plage complète une mise en forme en utilisant une formule (sans devoir procèder cellule par cellule).
La formule utilise la valeur de la cellule à mettre en forme. Je sais qu'il existe un mot-clef pour récuperer la cellule courante, mais impossible de le retrouver.
Quel est il ?

D'avance merci pour votre aide.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de 78chris 78chris - Expert éminent https://www.developpez.com
le 08/09/2011 à 17:39
Bonjour

Je n'ai pas 2010 sous la main mais sachant que les barres ne sont applicables qu'aux valeurs de façon assez peu paramétrable (en dehors des bornes), je passerais par un format nombre spécifique afin d'afficher les textes souhaités mais en ayant des valeurs dans les cellules.

Pour la question subsidiaire, il faut
sélectionner la plage entière à laquelle on veut appliquer la MFC,
repérer la cellule active(voir zone d'adresse à gauche de la barre de formule)
et raisonner par rapport à le ligne de cette cellule en veillant à enlever tout ou partie des $ dans la formule pour qu'elle s'applique correctement à chaque ligne de la sélection.
Avatar de vpet vpet - Nouveau membre du Club https://www.developpez.com
le 12/09/2011 à 10:39
Merci pour cette réponse.

La mise en forme s'applique est fonction de la valeur de la cellule, hors je dois afficher son libellé, la conversion ne fonctionne donc pas.
L'idéal serait de pouvoir indiquer des plages de valeurs tout en utilisant une formule retournant le résultat prenant en paramètre la valeur de la cellule.
Ce n'est pas encore (dans une future version peut etre) le cas.
Je vais donc passer par la voie de la programmation.
Avatar de Pierre Fauconnier Pierre Fauconnier - Responsable Office & Excel https://www.developpez.com
le 12/09/2011 à 11:03
Salut.

Personnellement, je ne vois pas très bien comment définir des formats spécifiques conditionnels (cfr 78Chris).

Tu peux peut-être mettre la jauge dans les cellules à côté et travailler avec INDEX...

Sinon, effectivement, sans programmation, je ne vois pas de solution sur la cellule contenant l'évaluation.
Avatar de 78chris 78chris - Expert éminent https://www.developpez.com
le 12/09/2011 à 14:54
Bonjour

Effectivement les formats de nombre personnalisés permettent de traiter 3 cas
Code : Sélectionner tout
[=1]"Très mauvais";[=2]"Mauvais";"Moyen"
mais pas 5

J'ai donc créé 2 formats
Code : Sélectionner tout
[=4]"Bon";[=5]"Très bon";Standard
et comme dans 2010, la MFC accepte les formats de nombres, j'ai combiné les barres avec 2 autres règles qui testent si la valeur est <=3 ou >3 afin d'appliquer le bon format, donc le texte, aux valeurs de 1 à 5 que je préconisais en disant de saisir des valeurs dans les cellules.

Si demandé je joindrai l'exemple.
Avatar de Pierre Fauconnier Pierre Fauconnier - Responsable Office & Excel https://www.developpez.com
le 12/09/2011 à 15:06
Superbe association de MFC et de formats perso.

Avatar de vpet vpet - Nouveau membre du Club https://www.developpez.com
le 13/09/2011 à 10:17
Alors là, un grand bravo.
Trés astucieux cette combinaison.
Merci beaucoup.

J'obtiens presque le Nirvana :
Reste plus qu'un détail à régler :
La valeur de la cellule est sélectionnable par l'utilisateur : liste déroulante (via la validation des données).
L'idéal étant que celle-ci contienne les libellés et non pas les valeurs numériques.
Bref, c'est pas encore gagné.
Avatar de 78chris 78chris - Expert éminent https://www.developpez.com
le 13/09/2011 à 21:25
Bonjour

J'ai
  • fait une liste de valeurs de 1 à 5
  • appliqué le 1er format nombre aux 3 premières valeurs
  • appliqué le second aux 2 autres
  • ce qui donne les 5 textes
  • déclaré cette liste comme source de la liste de validation


J'ai bien une déroulante avec les textes...

Amusant cet exercice imprévu !
Avatar de vpet vpet - Nouveau membre du Club https://www.developpez.com
le 14/09/2011 à 14:08
Bonjour,

Et merci beaucoup pour cette solution qui répond parfaitement à mes besoins et qui mérite d'être en bonne place dans les trucs et astuces

J'avais pensé à tout sauf à appliquer les formats sur les cellules servant de liste de validation.
Offres d'emploi IT
Développeur Web FULL-STACK
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
RESPONSABLE WEB ANALYTICS F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
Développeur WEB PHP F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)

Voir plus d'offres Voir la carte des offres IT
Responsables bénévoles de la rubrique Excel : Pierre Fauconnier - Arkham46 -