Compter par couleur et par ligne

F

Fabien

Guest
Bonjour le forum

Voilà je cherche a compter les cellules de meme couleurs sans y parvenir
Un petit coup de main de votre part serait le bienvenu
Soit par formules, soit par vba que je ne maitrise pas, l'un comme l'autre.

Un grand merci anticipé à tous ceux qui voudront bien m'aider. [file name=CpteCoul.zip size=8307]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/CpteCoul.zip[/file]
 

Pièces jointes

  • CpteCoul.zip
    8.1 KB · Affichages: 26

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Fabien, bonjour le forum,

Je te propose la macro ci-dessous. Attention elle est un peu longue à s'exécuter car j'ai pris en compte toutes les lignes possibles. Si dans la colonne C il y a une donnée avant de colorier les cellules, on pourrait limiter le nombre de lignes en prenant en compte la dernière ligne éditée de la colonne C.

Voici le code :


Sub Macro1()
Dim x As Byte, y As Byte, z As Byte, v As Byte 'déclare les variables x, y, z et v

For x = 1 To 60 'boucle sur soixante lignes (de 10 à 69)

For y = 35 To 63 'boucle sur les 29 couleurs (Tableau de références de AI9 à BK9)
v = 0 'définit la variable v

For z = 4 To 34 'boucle sur les 31 cellules (de la colonne D à la colonne AH)
'condition: si la cellule à la même couleur de motif que celle mentionné
'dans le tableau de référence, alors redéfinit la variable v : v = v+1
If Cells(x + 9, z).Interior.ColorIndex = CInt(Right(Cells(9, y), Len(Cells(9, y).Value) - 1)) Then v = v + 1
Next z 'prochaine céllule

'affiche le nombre dans le tableu de références
If v <> 0 Then Cells(x + 9, y).Value = v

Next y 'prochaine couleur de référence

Next x 'prochaine ligne

End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Fabien,

Tu copies le code puis tu ouvres VBE avec [Alt]+[F11]. Dans Visual Basic Editor tu utilises le menu Insertion/Module. Colle le code là où le curseur clignote. Ferme VBE avec [Alt]+[F11].

Pour utiliser la macro, [Alt]+[F8], double clique sur Macro1.

il y avait une petite erreur que j'ai corrigé. copie ce code ci-dessous.


Sub Macro1()
Dim x As Byte, y As Byte, z As Byte, v As Byte 'déclare les variables x, y, z et v

For x = 1 To 60 'boucle sur soixante lignes (de 10 à 69)

For y = 35 To 63 'boucle sur les 29 couleurs (Tableau de références de AI9 à BK9)
v = 0 'définit la variable v

For z = 4 To 34 'boucle sur les 31 cellules (de la colonne D à la colonne AH)
'condition: si la cellule à la même couleur de motif que celle mentionné
'dans le tableau de référence, alors redéfinit la variable v : v = v+1
If Cells(x + 9, z).Interior.ColorIndex = CInt(Right(Cells(9, y), Len(Cells(9, y).Value) - 1)) Then v = v + 1
Next z 'prochaine céllule

'affiche le nombre dans le tableu de références
If v <> 0 Then Cells(x + 9, y).Value = v

Next y 'prochaine couleur de référence

Next x 'prochaine ligne

End Sub
 
F

Fabien

Guest
Bonjour Robert, le forum

Je te prie de m'excuser car je je n'ai pas répondu à ta question.
Effectivement dans la colonne C il y a des noms, dont le nombre est variable, 30, 20 , 58, 70 etc...

En te souhaitant un bon WE
 

Discussions similaires

D
Réponses
3
Affichages
1 K
darib52
D

Statistiques des forums

Discussions
312 479
Messages
2 088 744
Membres
103 944
dernier inscrit
Stbj