Groupe lignes de la mme couleur sur excel
aminux
Messages postés
189
Date d'inscription
Statut
Membre
Dernière intervention
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
J'ai un fichier excel avec plusieurs lignes en couleur et je souhaiterais grouper les lignes de la même couleur. Existe-t-il un code pour cela svp ?
A voir également:
- Groupe lignes de la mme couleur sur excel
- Comment créer un groupe whatsapp - Guide
- Liste déroulante excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Excel cellule couleur si condition texte - Guide
- Word et excel gratuit - Guide
1 réponse
une macro qui peut faire l'affaire pour copier sur une autre feuille
au prealable
- nommer Tab la plage à copier
- nommer Copie une autre feuille
- depuis la feuille à coiper lancer la macro avec un bouton
voir le fichier joint en exemple avec ce lien
http://www.cijoint.fr/cjlink.php?file=cj201011/cijmto5Qgs.xls
au prealable
- nommer Tab la plage à copier
- nommer Copie une autre feuille
- depuis la feuille à coiper lancer la macro avec un bouton
Option Explicit
Private Sub CommandButton1_Click()
Const nblimax = 100 ' 100 couleurs de lignes maxi
Dim nbli As Long
Dim nbco As Long
Dim li As Long, co As Long, lico As Long, numCoul As Long, nbCoul As Long
Dim tabCoul(nblimax) As Long
Dim coul As Long
Dim coulId As Boolean
' recuperer les nombres de lignes et de colonnes de tab
nbli = Range("Tab").Rows.Count
nbco = Range("Tab").Columns.Count
' recuperer le tableau des couleurs
With Range("Tab")
nbCoul = 1
coul = .Cells(1, 1).Interior.Color
tabCoul(nbCoul) = coul
For li = 2 To nbli
coul = .Cells(li, 1).Interior.Color
coulId = False
For numCoul = 1 To nbCoul
coulId = coulId Or (coul = tabCoul(numCoul))
Next numCoul
If Not coulId Then
nbCoul = nbCoul + 1
tabCoul(nbCoul) = coul
End If
Next li
End With
' recopier en regroupant les lignes de même couleur
Worksheets("Copie").Cells.ClearContents
With Range("Tab")
li = 0
lico = 0
For numCoul = 1 To nbCoul
For li = 1 To nbli
If .Cells(li, 1).Interior.Color = tabCoul(numCoul) Then
lico = lico + 1
For co = 1 To nbco
Worksheets("Copie").Cells(lico, co).Value = .Cells(li, co).Value
Worksheets("Copie").Cells(lico, co).Interior.Color = .Cells(li, co).Interior.Color
Next co
End If
Next li
Next numCoul
End With
End Sub
voir le fichier joint en exemple avec ce lien
http://www.cijoint.fr/cjlink.php?file=cj201011/cijmto5Qgs.xls
Par contre, si les couleurs des lignes sont issues soit d'un choix délibéré sur une valeur soit une mise en forme conditionnelle, alors un simple donnée triée suffira.