Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

EXCEL 2003 compter des cellules de même couleur

33 réponses
Avatar
djeel
Salut !
J'utilise excel 2003.
J'ai un tableau comportant environ 1100 cellules ; certaines (environ 300)
sont coloriées (couleur de remplissage) avec une dizaine de couleurs
différentes, les autres restant en blanc.
Je voudrais comptabiliser le nombre de cellules de chaque couleur.
Est-ce possible pour un utilisateur lambda comme moi ?
Merci de votre aide et cordialement

--
Djeel

10 réponses

1 2 3 4
Avatar
djeel
Le 10/12/2011 17:13, DanielCo a écrit :

Si, malgré tout, il subsiste une différence charge ton classeur sur
cjint.com et poste le lien généré.



Comment savoir à quelle couleur correspond chaque nombre renvoyé par la macro ?

--
Djeel
Avatar
djeel
Le 10/12/2011 17:13, DanielCo a écrit :

Si, malgré tout, il subsiste une différence charge ton classeur sur
cjint.com et poste le lien généré.



Désolé pour la multiplication des messages !

Je reste avec ça :
code couleur 16777215 -> 290 cellules
code couleur 12632256 -> 198 cellules
je ne vois pas ce que c'est...

Par contre la macro ne voit pas les 56 cellules de couleur bleu (roy) !
Bizarre, non ?

--
Djeel
Avatar
Jacquouille
Bonjour
Voici un code que l'honorable assemblée m'avait pondu pour rechercher le
code couleur d'une cellule;
Tu modifies la plage.

Sub chercher_couleur_ter()
Dim A As Variant
Dim r As Variant
Dim g As Variant
Dim b As Variant
For x = 1 To 21 Step 5
For Each c In Range("A" & x & ":h" & x)
A = Right("000000" & Hex(c.Interior.Color), 6)
r = Evaluate("HEXDEC(""" & Right(A, 2) & """)")
g = Evaluate("HEXDEC(""" & Mid(A, 3, 2) & """)")
b = Evaluate("HEXDEC(""" & Left(A, 2) & """)")

'MsgBox r & ", " & g & ", " & b
c.Offset(3, 0) = c.Interior.ColorIndex
c.Offset(4, 0) = r & ", " & g & ", " & b
Next
Next
End Sub



Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"djeel" a écrit dans le message de groupe de discussion :
4ee3833c$0$9989$

Le 10/12/2011 13:23, Gloops a écrit :

Il me semble que VBA a toute sa place pour faire ça.
Il convient de commencer par renseigner les valeurs représentant les
couleurs, en les lisant avec un code VBA,



Merci de ton aide, mais franchement...je n'y comprends rien !
Cordialement

--
Djeel
Avatar
DanielCo
Le 10/12/2011 17:13, DanielCo a écrit :

Si, malgré tout, il subsiste une différence charge ton classeur sur
cjint.com et poste le lien généré.



Désolé pour la multiplication des messages !

Je reste avec ça :
code couleur 16777215 -> 290 cellules
code couleur 12632256 -> 198 cellules
je ne vois pas ce que c'est...

Par contre la macro ne voit pas les 56 cellules de couleur bleu (roy) !
Bizarre, non ?



C'est le code couleur, comment veux-tu que je nomme la coulleur ? par
contre je peux colorier les cellules en colonne C. Pour les erreurs de
décompte, fais-moi parvenir un classeur.
Daniel
Avatar
djeel
Le 10/12/2011 19:59, DanielCo a écrit :

C'est le code couleur, comment veux-tu que je nomme la coulleur ? par
contre je peux colorier les cellules en colonne C. Pour les erreurs de
décompte, fais-moi parvenir un classeur.



http://cjoint.com/?ALksIOMW6oZ


--
Djeel
Avatar
DanielCo
Le 10/12/2011 19:59, DanielCo a écrit :

C'est le code couleur, comment veux-tu que je nomme la coulleur ? par
contre je peux colorier les cellules en colonne C. Pour les erreurs de
décompte, fais-moi parvenir un classeur.



http://cjoint.com/?ALksIOMW6oZ



Effectivement, la dernière couleur n'était pas listée. Essaie :

Sub test()
Dim Tabl1() As Double, Tabl2() As Double
Dim c As Range, Coul As Variant
ReDim Tabl1(0)
ReDim Tabl2(0)
With Application
For Each c In Selection
If c.Interior.ColorIndex <> xlNone Then
Coul = .Match(c.Interior.Color, Tabl1(), 0)
If IsNumeric(Coul) Then
Tabl2(Coul - 1) = Tabl2(Coul - 1) + 1
Else
ReDim Preserve Tabl1(UBound(Tabl1()) + 1)
ReDim Preserve Tabl2(UBound(Tabl2()) + 1)
Tabl1(UBound(Tabl1())) = c.Interior.Color
Tabl2(UBound(Tabl2())) = 1
End If
End If
Next c
Sheets.Add
[A1].Resize(UBound(Tabl1()) + 1) = .Transpose(Tabl1())
[B1].Resize(UBound(Tabl2()) + 1) = .Transpose(Tabl2())
Rows(1).Delete
For Each c In Range([A1], Cells(Rows.Count, 1).End(xlUp))
c.Offset(, 2).Interior.Color = c.Value
Next c
End With
End Sub

Daniel
Avatar
Maude Este
Bonsour®

"djeel" a écrit
J'a iencore un petit souci puisque la macro me renvoie un nombre de cellules
de couleurs blanche ne corrspondant pas au nombre de cellules vides et donc
supposées blanches



supposées ????
les notions d'absence de couleur et couleur blanche sont totalement déconnectées
!!!!

l'absence de couleur correspond à l'index 0 de la palette "standard" des
couleurs
la couleur blanche correspond à l'index 2 de cette même palette

il convient par ailleurs d'être circonspect avec l'info index en corrélation
avec une couleur "définie"...
la palette d'un classeur peut être modifiée à volonté et adaptée aux désirs de
l'utilisateur .
Avatar
djeel
Le 11/12/2011 01:06, Maude Este a écrit :

supposées ????
les notions d'absence de couleur et couleur blanche sont totalement
déconnectées !!!!



Il n'y a à l’œil aucune différence.
La macro renvoie bien le compte des cellules colorées à l'aide de l'outil
"couleur de remplissage", mais elle renvoie aussi : couleur 16777215 pour
290 cellules. 16777215 correspond sur la palette de l'outil au blanc.
Or il n'y a eu aucune cellule coloriée en blanc.
D'où mon interrogation. S'agit-il de cellules qui étaient colorées et qui
ont été remises sans couleur ?

Merci de tes éclaircissements


--
Djeel
Avatar
djeel
Le 11/12/2011 08:17, djeel a écrit :

Il n'y a à l’œil aucune différence.
La macro renvoie bien le compte des cellules colorées à l'aide de l'outil
"couleur de remplissage", mais elle renvoie aussi : couleur 16777215 pour
290 cellules. 16777215 correspond sur la palette de l'outil au blanc.
Or il n'y a eu aucune cellule coloriée en blanc.
D'où mon interrogation. S'agit-il de cellules qui étaient colorées et qui
ont été remises sans couleur ?

Merci de tes éclaircissements



Problème réglé !
Des cellules étaient bien colorées en blanc sans qu'on le voit.
Grâce à l'outil recerhcer/remplacer, j'ai pu les décolorer (je ne
connaissais pas cette fonction de recherche).
Merci encore...

--
Djeel
Avatar
Jacquouille
Moralité:
..... Si vous aviez (eussiez eût été mieux) appliqué la macro qui indique le
RGB des couleurs de remplissage, à quelques cellules réfractaires, vous
auriez (eussiez eût été mieux) été informé de cette mésaventure des
cellules colorées en blanc.
Une autre astuce qui permet de le voir:
Vous sélectionnez les cellules qui paraissent vides ou non colorées. Bien
souvent, on a une couleur d'écriture identique à celle du fond, ou bien de
la couleur blanche. Dès que l'on sélectionne la cellule, cela se voir
clairement.
Mais, rassurez-vous, vous avez évité le pire en badigeonnant vos cellules à
la main. S'il avait s'agit d'une MEFC, .....
Un bon dimanche à tous et tousses, ainsi qu'à Maude.

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."

"djeel" a écrit dans le message de groupe de discussion :
4ee458b7$0$8442$

Le 11/12/2011 01:06, Maude Este a écrit :

supposées ????
les notions d'absence de couleur et couleur blanche sont totalement
déconnectées !!!!



Il n'y a à l’œil aucune différence.
La macro renvoie bien le compte des cellules colorées à l'aide de l'outil
"couleur de remplissage", mais elle renvoie aussi : couleur 16777215 pour
290 cellules. 16777215 correspond sur la palette de l'outil au blanc.
Or il n'y a eu aucune cellule coloriée en blanc.
D'où mon interrogation. S'agit-il de cellules qui étaient colorées et qui
ont été remises sans couleur ?

Merci de tes éclaircissements


--
Djeel
1 2 3 4