Trier en fonction de la couleur de fond
Avec excel 2007, cette fonction est intégrée : données filtrer. Dans la flèche qui apparait dans la cellule, trien en fonction de la couleur.
Pour les versions antérieures, voici un exemple qui permet de trier une plage de cellules (sur une seule colonne) selon la couleur :
1 - Crée la macro TriCoul (classique tri récursif)
2 - Crée la macro TriCoulRange (qui lancera TriCoul pour la plage sélectionnée)
3 - Dans une feuille de calcul, sélectionne une plage (sur une seule colonne) et exécute TriCoulRange
. Voila, tu peux modifier la macro pour trier plusieurs colonnes
sub TriCoul(R As Range) Dim Bas As Long, Haut As Long Dim Col As Integer Dim i As Long, j As Long Dim Milieu As Variant, Echange As Variant Col = R.Column Bas = R.Row Haut = R.Rows.Count + i - 1 i = Bas j = Haut Milieu = Cells((Int(Bas + Haut) / 2), Col).Interior.Color Do While Cells(i, Col).Interior.Color < Milieu i = i + 1 Wend While Milieu < Cells(j, Col).Interior.Color j = j - 1 Wend If i <= j Then Echange = Cells(i, Col).Interior.Color Cells(i, Col).Interior.Color = Cells(j, Col).Interior.Color Cells(j, Col).Interior.Color = Echange Echange = Cells(i, Col).Value Cells(i, Col).Value = Cells(j, Col).Value Cells(j, Col).Value = Echange i = i + 1 j = j - 1 End If Loop Until i > j If Bas < j Then TriCoul Range(Cells(Bas, Col), Cells(j, Col)) If i < Haut Then TriCoul Range(Cells(i, Col), Cells(Haut, Col)) end sub
sub TriCoulRange() TriCoul Selection end sub
Auteur : Fripouillot
Mots clefs associés à cette page : couleur, colorier, format, trier, tri
- Vous devez vous identifier ou créer un compte pour écrire des commentaires
