Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Compter le nombre de cellules en couleur selon leur valeur

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 !

Caninge

XLDnaute Accro
Bonjour à tous.

Une question souvent posée,mais pratiquement à chaque fois je n'arrive pas à trouver ma réponse sur ce sujet.

Cette fois-ci je voudrais compter les cellules ayant la même valeur et uniquement celles qui sont en couleur.

Comme à l'accoutumée je joins un petit fichier.

Merci d'avance.
 

Pièces jointes

Re : Compter le nombre de cellules en couleur selon leur valeur

Re, bonjour Banzaï,

Je regarde les modifications et je te tiens au courant.

Peut-être pas tout de suite, je dois partir acheter quelques cadeaux.

En attendant

BONNES FETES !!!!!!!
 
Re : Compter le nombre de cellules en couleur selon leur valeur

Rebonjour à tous,

Bonjour Banzaï

me revoici, me revoilou.

j'ai testé, j'ai bien réussi a mettre le code comme prévu.

Par contre au niveau des résultats ce sont des nombres incohérents qui apparraissent.

Peut-être c'est du au fait qu'en fait il n'y a pas de colonne vide entre les résultats et le tableau.

(voir fichier) Pour "Autre" je ne sais pas.

A plus
 

Pièces jointes

Re : Compter le nombre de cellules en couleur selon leur valeur

Bonjour

Tu me renvoies mon fichier avec un code qui fonctionnait
Comment savoir si le code que tu utilises est bon
Il faudrait que tu m'envoies ton code (les deux parties pour voir si il y a des incohérences)
Qu'il y est une colonne ne gène pas
 
Re : Compter le nombre de cellules en couleur selon leur valeur

Re bonjour

Je t'envoie les 2 codes:

MERCI


' Dans Module1

Option Explicit

Sub Compte_Couleurs()
Dim Indice As Integer
Dim Trouve As Boolean
Dim Cel As Range
Dim J As Long
Dim K As Long
Dim Tablo()
Dim Zone_Cherche As Range
Dim Cherche As String

' Range("AD1:AE" & Range("AE65536").End(xlUp).Row).ClearContents
' Zone d'écriture (que j'efface)
Range("F352:G" & Range("G65536").End(xlUp).Row).ClearContents

' Set Zone_Cherche = Range("E2:AA2")
' Zone de recherche du score
Set Zone_Cherche = Range("AL5:BH5")
ReDim Preserve Tablo(1, Indice)
' For K = 4 To Range("B65536").End(xlUp).Row
' 4 = Ligne de départ dans la colonne B
' Pour toi
' 8 = Ligne de départ dans la colonne AJ
For K = 8 To Range("AJ65536").End(xlUp).Row

' Cherche = CStr(Cells(K, 2).Value) & " - " & CStr(Cells(K, 3).Value)
' Colonne B = 2 et suivante = 3
' Pour toi
' Colonne AJ = 36 et suivante = 37
Cherche = CStr(Cells(K, 36).Value) & " - " & CStr(Cells(K, 37).Value)
Set Cel = Zone_Cherche.Find(Cherche, LookIn:=xlValues, lookat:=xlWhole)
If Cel Is Nothing Then
'
' Si je n'ai pas trouvé le score je vais me positionner sur la colonne 'Autres'
Set Cel = Zone_Cherche.Find("Autres", LookIn:=xlValues, lookat:=xlWhole)
End If
' If Not Cel Is Nothing Then
' Cel.Select
Trouve = False
For J = 0 To UBound(Tablo, 2)
If Tablo(1, J) = Cells(K, Cel.Column).Value Then
Tablo(0, J) = Tablo(0, J) + 1
Trouve = True
Exit For
End If
Next J
If Trouve = False Then
Tablo(1, Indice) = Cells(K, Cel.Column).Value
Tablo(0, Indice) = 1
Indice = Indice + 1
ReDim Preserve Tablo(1, Indice)
End If
' End If
Next K
' Tri
Do
Trouve = False
For J = 0 To UBound(Tablo, 2) - 2
If Tablo(1, J) > Tablo(1, J + 1) Then
Trouve = True
K = Tablo(1, J + 1)
Tablo(1, J + 1) = Tablo(1, J)
Tablo(1, J) = K
K = Tablo(0, J + 1)
Tablo(0, J + 1) = Tablo(0, J)
Tablo(0, J) = K
End If
Next J
Loop Until Trouve = False
' Affichage
For J = 0 To UBound(Tablo, 2) - 1
' Cells(1 + J, 30).NumberFormat = "0.00"
' Cells(1 + J, 30) = Tablo(1, J)
' Cells(1 + J, 31) = Tablo(0, J) & " fois"
' J'écrivais ligne 1 + J, Colonne 30 et 31 (AD et AE)
' Tu veux Ligne 352 + J et Colonne 6 et 7 (F et G)
Cells(352 + J, 6).NumberFormat = "0.00"
Cells(352 + J, 6) = Tablo(1, J)
Cells(352 + J, 7) = Tablo(0, J) & " fois"
Next J
' A suuprimer
' Columns("AD:AE").AutoFit
End Sub
Option Explicit


Code de la feuille nommée "Grilles"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' If Not Intersect(Range("B4:AA7"), Target) Is Nothing Then
' B4:AA7 : Coordonnées de la plage à 'surveiller'
' Dans ton exemple cela va être AJ8:BH349
If Not Intersect(Range("AJ8:BH349"), Target) Is Nothing Then
Application.EnableEvents = False
Compte_Couleurs
Application.EnableEvents = True
End If
End Sub
 
Re : Compter le nombre de cellules en couleur selon leur valeur

Re,

A rien n'y comprendre, je suis prêt à lacher prise.

J'ai refait le même fichier quoique avec des nombres différents (feuille réelle actualisée), le résultat est assez surprenant.

Autre chose :

Les lignes 113 et 112 les scores étant différents et donc devraient s'incrire dans la colonne "Autres" cellules BH113 et BH112.

je pense que cela vient de la MFC à changer non ?

A plus.

Je vais dormir.

Merci
 

Pièces jointes

Re : Compter le nombre de cellules en couleur selon leur valeur

Bonjour

J'espère que cette fois c'est ok

Edit: Erreur dans le fichier --> Remplacement
 

Pièces jointes

Dernière édition:
Re : Compter le nombre de cellules en couleur selon leur valeur

Bonjour Banzaî,

Bonjour à tous.

Tu es comme moi tu te couches tard je vois.

Le probléme est résolu ouf !

Par contre je deviens agaçant, je reviens encore au sujet des scores qui n'apparraissent pas dans la ligne AL5 : BG5.

Si les scores des colonnes AJ et AK ne figurent pas sur cette ligne alors les cellules des colonnes BH se colorent en rouge et là elles ne sont pas.

je pense qu'il faut peut-être modifier la formule dans MFC ou bien ajouter une autre condition non.

a plus

Merci
 
Re : Compter le nombre de cellules en couleur selon leur valeur

Bonjour

Une solution ( Mais en MFC il peut y en avoir d'autre)

Code:
Sélectionnes la zone AJ8:BH349
Menu : Format --> Mise en forme conditionnelle

Ajouter>>
La formule est :
=ET(NB.SI($AL$5:$BG$5;$AJ8 & " - " & $AK8)=0;COLONNE()=60;NBCAR($AJ8 & " - " & $AK8)=5)

En français : 
NB.SI($AL$5:$BG$5;$AJ8 & " - " & $AK8)=0 : Le score ne se trouve pas dans la ligne du haut ET
COLONNE()=60                             : Je suis en colonne 60 (BH) ET
NBCAR($AJ8 & " - " & $AK8)=5)            : Il faut que AJ et AK contiennent quelque chose

Choisis ton format

Ok
 
Re : Compter le nombre de cellules en couleur selon leur valeur

Re,

Bonjour Banzaï

Tout est ok j'ai mis cette mfc.

Je te remercie,tu t'es bien donné de la peine, c'est sympa.
Je voudrais te poser une dernière question:

Comment sais-tu tout ça, le fonctionnement des macros les codes les formules etc.....

C'est ton métier, tu as fais des stages ou bien tu as appris tout seul ?

Je suis toujours étonné de voir ça.

Merci
 
Re : Compter le nombre de cellules en couleur selon leur valeur

Bonjour
Une simple méthode : La pratique
Mais je suis encore très loin de certains ici
Dans la mesure de mes connaissances j'essaye de trouver des solutions, souvent ça rate mais je me soigne
Au plaisir
Bonnes fêtes
 
- 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
3
Affichages
381
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…