Ordonner des couleurs de cellules par ordre décroissant

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Magic_Doctor

XLDnaute Barbatruc
Bonjour le forum,

J'essaie de résoudre un problème sans toutefois y parvenir.
Dans ma feuille j'ai 4 colonnes :
1/ dans la 1ère colonne des noms de produits. À chaque produit est assujettie une couleur ; autrement dit, la couleur de la cellule où figure le nom de chaque produit est différente de celle des autres.
2/ dans la seconde colonne le pourcentage de chaque produit

Suivant les différents pourcentages des produits, les 3ème et 4ème colonnes, au travers de formules que j'ai pu trouver dans ce forum, montrent les différents produits et leur pourcentage respectif par ordre décroissant, avec une colonne de produits comportant les noms des produits sans la couleur qui leur correspond.
Jusque là, pas de problème. Mais existe-t-il une formule "magique" (qui ne ferait pas intervenir les formats conditionnels pour des raisons évidentes : imaginez 500 produits... !!!) qui permettrait d'assigner à chaque produit "ordonné" la couleur d'origine qui lui correspond ?

Mais plutôt qu'un long dicours, j'ai joint un exemple beaucup plus locace.

Enfin, merci pour toute réponse.
 

Pièces jointes

Re : Ordonner des couleurs de cellules par ordre décroissant

Bonsoir Magic_Doctor, le Forum,

Une façon de faire dans ton classeur ci-joint modifié.

Le traitement est assuré par la procédure ci-dessous :
Code:
[COLOR=GRAY][B][I]DANS LE MODULE DE CODE DE LA FEUILLE 1[/I][/B][/COLOR]

[COLOR=NAVY]Private Sub[/COLOR] Worksheet_Change([COLOR=NAVY]ByVal[/COLOR] Target [COLOR=NAVY]As[/COLOR] Range)
[COLOR=GREEN]'myDearFriend!  -  www.mdf-xlpages.com[/COLOR]
[COLOR=NAVY]Dim[/COLOR] Plage [COLOR=NAVY]As[/COLOR] Range, Cel [COLOR=NAVY]As[/COLOR] Range, C [COLOR=NAVY]As[/COLOR] Range
    [COLOR=NAVY]If Not[/COLOR] Application.Intersect(Target, Columns(3)) [COLOR=NAVY]Is Nothing Then
        Set[/COLOR] Plage = Range(Cells(2, 5), Cells(2, 5).[COLOR=NAVY]End[/COLOR](xlDown).Offset(-1, 0))
        Plage.Interior.ColorIndex = xlNone
        [COLOR=NAVY]For Each[/COLOR] Cel [COLOR=NAVY]In[/COLOR] Plage
            [COLOR=NAVY]Set[/COLOR] C = Columns(2).Find(Cel.Text, LookIn:=xlValues)
            Cel.Interior.Color = C.Interior.Color
        [COLOR=NAVY]Next[/COLOR] Cel
    [COLOR=NAVY]End If
End Sub[/COLOR]
Cordialement,
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
24
Affichages
6 K
Retour