XL 2010 Affecter un résultat texte en fonction d'une couleur de cellule créée par mise en forme conditionnelle

Isabelle01

XLDnaute Nouveau
Bonjour,
Dans une analyse de résultats exprimés en % (1ère colonne permet de différencier les postulants avec leur résultat),
j'ai copier et coller avec liaison ces résultats dans la 2ème colonne puis utilisé la fonction mise à jour conditionnelle pour mettre en évidence les 2 meilleurs résultats obtenus
-> je souhaiterai utiliser une fonction qui permette de reconnaitre la couleur des cellules de la 2ème colonne afin d'affecter en 3ème colonne : soit éliminé si la cellule n'a pas de fond, soit retenu si la cellule a le fond rose en face de chaque résultat.
J'ai mis le résultat attendu manuellement pour voir le résultat attendu.
1648207961820.png

Merci d'avance pour votre aide.
Bonne journée à tous
Isabelle
 

Phil69970

XLDnaute Barbatruc
Bonjour @Isabelle01

Bienvenue sur le site

1) Est ce que tu sais qu'écrire en majuscule (Voir ton titre) cela revient à crier o_O
Et perso j'aime pas quand on me crie dessus cela me rend agressif 🤣
Solution : ==> Edite ton titre et remet le en minuscule 👍

2) Avec un fichier respectant le RGPD c'est toujours plus parlant qu'une image
Si je te réponds en mettant juste une image pas sur que tu puisses en faire quelque chose :oops:

Bonne lecture

@Phil69970
 

Dudu2

XLDnaute Barbatruc
@Isabelle01,

Ne t'inquiète pas, @Phil69970 est très à cheval sur les principes et il envoie du lourd.
Mais en fait il est très cool et c'est un Barbachose donc il connait plein de trucs (ou l'inverse) ;).

Ton problème est théoriquement simple à régler. Sauf qu'Excel nous em...bête avec son refus d'utiliser la propriété DisplayFormat dans une fonction personnalisée. Et une fonction qui semblait simple à priori:
VB:
Function FondEstColoré(Cellule As Range) As Boolean
    FondEstColoré = Not Cellule.DisplayFormat.Interior.Pattern = xlNone
End Function
s'avère inutilisable même si elle fonctionne parfaitement en étant appelée par une macro.
 

Pièces jointes

  • Classeur1.xlsm
    17.7 KB · Affichages: 3
Dernière édition:

Dudu2

XLDnaute Barbatruc
Et oui, et c'est marqué dans la doc:
Notez que la propriété DisplayFormat ne fonctionne pas dans les fonctions définies par l’utilisateur (UDF). Par exemple, sur une fonction de feuille de calcul qui renvoie la couleur intérieure d’une cellule, vous utilisez une ligne semblable à Range(n).DisplayFormat.Interior.ColorIndex : Lorsque la fonction de feuille de calcul s’exécute, elle renvoie une #VALUE! erreur.
 

Dudu2

XLDnaute Barbatruc
Alternativement, on peut utiliser l'évènement Calculate() de la feuille. Ce n'est pas l'idéal mais ça fonctionne à condition de définir une colonne qui fait référence à la liste des valeurs par simple formule (=<cellule>). Cela va permettre à l'évènement Calculate() de se déclencher lors de la modification des valeurs de la liste et donc d'activer le code de valorisation des labels.

Le code utilise un tableau de Variant pour les labels pour maximiser la rapidité d'exécution.

Exemple dans ce fichier.
 

Pièces jointes

  • Classeur1.xlsm
    16.7 KB · Affichages: 4
Dernière édition:

Dudu2

XLDnaute Barbatruc
Tu vois @Phil69970, moi ce qui me rend nerveux c'est surtout le fait qu'un internaute pose une question, qu'on se décarcasse comme Ducros pour lui trouver une solution et qu'ensuite il s'évapore sans laisser aucun retour, ni merde ni merci.
Mais je suis de la vieille école, sans doute devrais-je ignorer la désinvolture des nouvelles générations.
 

Dudu2

XLDnaute Barbatruc
Bonjour @Marcel32,

Je ne comprends pas bien ce que tu proposes...
Il y a une MFC qui colorise les 2 plus grandes valeurs. C'est la MFC qui fait le boulot.
Ensuite il faut trouver un moyen pour mettre "Retenu" ou "Éliminé" sur la base des couleurs de la MFC.

1648636941293.png


Maintenant, on peut effectivement contourner le problème et ne pas tenter d'analyser la couleur de la MFC en utilisant une formule avec GRANDE.VALEUR en reproduisant d'une autre manière la condition qui a été définie dans la MFC.

Dans un premier temps j'ai trouvé plus "challenging" de tenter la reconnaissance de la couleur. Mais pour un débutant ce n'est pas simple à mettre en oeuvre (VBA...). S'il y avait eu un retour du demandeur je lui aurais proposé cette 2ème solution. Mais nada.

1648638135220.png
 

Pièces jointes

  • Classeur1.xlsm
    17 KB · Affichages: 1
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Je ne comprends pas bien ce que tu proposes...
Il y a une MFC qui colorise les 2 plus grandes valeurs. C'est la MFC qui fait le boulot.
Ensuite il faut trouver un moyen pour mettre "Retenu" ou "Éliminé" sur la base des couleurs de la MFC.
Oui, j'ai bien compris ce qu'il y a au départ et ce qu'il est demandé de trouver.
Mais c'est quand même biscornu comme truc, donc je demandais s'il n'était pas plus simple de faire l'inverse, ce me semble infiniment plus logique et évident.
Mais reste à essayer de mettre ça en place pour voir si c'est aussi simple que ça en a l'air. 😆
 
Dernière édition:

ISPRAD

XLDnaute Nouveau
Tu vois @Phil69970, moi ce qui me rend nerveux c'est surtout le fait qu'un internaute pose une question, qu'on se décarcasse comme Ducros pour lui trouver une solution et qu'ensuite il s'évapore sans laisser aucun retour, ni merde ni merci.
Mais je suis de la vieille école, sans doute devrais-je ignorer la désinvolture des nouvelles générations.
Voir fichier joint.
Bonjour,
Je ne suis pas la personne du départ mais je vous remercie car je cherchai une reponse et je vais essayer la votre, car mon fichier fait 95000 lignes et le format conditionnel est une vrai galére pour analyser les resultats rapidement. Merci bonne journée
 

Discussions similaires

Réponses
12
Affichages
158