Microsoft 365 NB de valeur en rouge ou vert

Scorpio

XLDnaute Impliqué
Bonjour à tous,
Dans ce classeur, en plage jaune, je cherche comment trouver
le nombre de valeur en Rouge ou en vert, par colonne de la cellule B2:B9, etc... sur la droite

J'ai fait la somme en fonction de la colonne "O" =SOMME.SI($O$2:$O$9;"*F1";B$2:B$9)

Pourriez-vous, s'il vous plaît me donner un petit coup de pouce ce soucis
Je vous remercie, et a +++++
 

Pièces jointes

  • TEST_NB_ValeurCouleur.xlsm
    20.6 KB · Affichages: 18

job75

XLDnaute Barbatruc
Bonsoir Scorpio, le fil,
Donc, je vais chercher sur le net si je trouve quelques chose, un code en VBA.
Cette fonction VBA est très classique :
VB:
Function CompteCouleur(r As Range, coul)
coul = coul.Font.Color 'couleur de la police de la cellule coul
For Each r In r
    CompteCouleur = CompteCouleur - (r.Font.Color = coul)
Next
End Function
Formule en B66 à tirer à droite et vers le bas =CompteCouleur(B$2:B$62;$A63)

Rappelons qu'en VBA True = -1 et False = 0.

A+
 

Pièces jointes

  • PayementFacture(1).xlsm
    61.1 KB · Affichages: 6

soan

XLDnaute Barbatruc
Inactif
@Scorpio (bonsoir job75)

1) je te propose de faire ce petit test avec le fichier de ton post #11 :

a) va en B21 et efface le contenu : touche Suppression ➯ un #REF! rouge en moins.

b) va en B53 et efface le contenu : touche Suppression ➯ un #REF! vert en moins.

c) regarde B66 et B67 : c'est maintenant 2 et 15 au lieu de 3 et 16 ; c'est bien la preuve que les #REF! rouges et les #REF! verts sont décomptés correctement ; et ça serait pareil dans ton fichier réel où tu as des nombres au lieu des valeurs d'erreur #REF!

mais peut-être : est-ce que tu as voulu dire que dans ton fichier réel tu as des nombres et aussi des valeurs #REF! et ce que tu cherches à faire est de compter uniquement les #REF! ? si c'est ça, alors oui, il faut modifier les formules actuelles ; mais sinon, tu peux les laisser telles quelles.​



dans ton post #13, tu as écrit :
«
C'est dans les colonnes B à M que j'aimerais savoir combien j'ai de références en rouge et en vert.

Mais dans mon classeur qui a les bonnes données, donc les chiffres, cela donne aussi 3 et 16.
»
alors si c'est pas 3 et 16, quelles sont les valeurs que tu aurais aimé avoir comme résultat ? peux-tu mettre une copie d'écran des résultats attendus ? cela en feuille "SynthèseMois", plage B66:N67 (remarque : c'est bien à cet endroit, n'est-ce pas ? ou j'me suis trompé et c'est à un autre endroit ?).​



voici quelques infos supplémentaires : les formules Excel ne détectent pas la couleur ; il faut créer en VBA une fonction spéciale qui compte les cellules colorées, comme l'a fait job75 dans son post #16 ; mais si j'me rappelle bien, en cas de changement de couleur (ce qui n'est pas détectable par un évènement), le résultat ne sera pas mis à jour. (et il me semble bien que c'est pareil même en utilisant l'instruction Application.Volatile)

soan
 

job75

XLDnaute Barbatruc
mais si j'me rappelle bien, en cas de changement de couleur (ce qui n'est pas détectable par un évènement), le résultat ne sera pas mis à jour. (et il me semble bien que c'est pareil même en ajoutant l'instruction Application.Volatile)
En rendant la fonction volatile comme ceci :
VB:
Function CompteCouleur(r As Range, coul)
Application.Volatile
coul = coul.Font.Color 'couleur de la police de la cellule coul
For Each r In r
    CompteCouleur = CompteCouleur - (r.Font.Color = coul)
Next
End Function
il suffira d'appuyer sur la touche F9 pour que les formules soient recalculées et donc mises à jour.
 

soan

XLDnaute Barbatruc
Inactif
Bonjour @Scorpio, job75,

j'ai vu la photo du fichier joint de ton post #19. :)

ben c'est tout bon, tout est ok :

1) y'a aucune valeur d'erreur #REF!

2)
par rapport à un F1 rouge de la colonne O :
tous les nombres sur la même ligne sont rouges
➯ on peut compter selon les F1 de la colonne O

3)
par rapport à un V1 vert de la colonne O :
tous les nombres sur la même ligne sont verts
➯ on peut compter selon les V1 de la colonne O

4)
tous les résultats des 2 lignes sur fond jaune sont OK ! 😊
(tu vois bien que ça ne met pas à chaque fois 3 et 16 !)



par contre, si pour toi un des résultats n'est pas bon : au lieu d'une image, envoie le fichier avec lequel tu as fait cette image (sans donnée confidentielles) ; indique quels sont les mauvais résultats, en écrivant par exemple : en B67, il y a 16 au lieu de 12 ; donc je saurai que le résultat que tu attends en B67 est 12.​

soan
 

Scorpio

XLDnaute Impliqué
Je ne veux pas savoir le nombre de cellule rouge et verte de la colonne "O", je sais qu'il y a 3 cellules rouges et 16 verte.
Sur l'image, je viens de mettre sur le fond jaune les résultats de chaque colonne de A à M, ce que je veux savoir, c'est le nombre de chiffre en rouge et en vert de chaque colonne de A à M
Scorpio
 

soan

XLDnaute Barbatruc
Inactif
@Scorpio

encore une fois, tu fais la même erreur ! :confused:

même si on compte par rapport à la colonne O, le décompte est quand même VALABLE pour les colonnes B à M, car : relis très attentivement les points 2) et 3) de mon post #20 ! :rolleyes:

sur ta photo, colonne "Mai", qui est la colonne F, je vois ces 3 nombres rouges : 50.00 ; 1440.00 ; 39.95 ; je vois aussi ces 2 nombres verts : 80.00 et 1.00 ; en bas, les résultats sur fond jaune de la même colonne sont : 3 et 2 ; alors ces résultats sont bien justes, n'est-ce pas ? tu ne peux pas dire qu'ils sont faux ! (même si les formules font un décompte de la colonne F par rapport à la colonne O)


maintenant, si tu trouves qu'un des résultats est faux, dis-moi dans quelle cellule il est, et le nombre que tu aimerais y voir à la place de celui qui y est déjà ; mais pour cela, envoie la même photo avec aussi les lettres de colonnes et les numéros de lignes (je parle de ceux qui correspondent à la photo) ; ou mieux : envoie un fichier sans photo, avec les données dans des cellules.​



la colonne A n'est pas concernée car c'est la colonne avec l'en-tête "Fact. ouverte", qui contient "Soc1", "Soc2", "Soc3" ... "Soc59".​

soan
 

soan

XLDnaute Barbatruc
Inactif
??? ben pour la colonne "Mai" c'est les formules que je t'avais déjà indiquées :

en F66 : =NB.SI.ENS(F2:F62;"<>";$O2:$O62;"F1")

en F67 : =NB.SI.ENS(F2:F62;"<>";$O2:$O62;"V1")

avec ces formules, tu vois bien que ça fait un décompte de la colonne F :
si la cellule en F est non vide ; et selon que la cellule en O contient
soit "F1" (pour les nombres rouges) ; soit "V1" (pour les nombres verts)



mais t'as pas besoin de saisir ces formules en colonne F !

puisque normalement, tu saisis :
en B66 : =NB.SI.ENS(B2:B62;"<>";$O2:$O62;"F1")

en B67 : =NB.SI.ENS(B2:B62;"<>";$O2:$O62;"V1")

puis ensuite, tu tires ces 2 formules vers la droite.
(jusqu'en colonne N)


soan
 
Dernière édition:

soan

XLDnaute Barbatruc
Inactif
@Scorpio

les formules sont correctes, alors si tu as que des 3 et des 16, c'est que pour chaque colonne B à N, tu as 3 nombres rouges et 16 nombres verts ; ce qui est bien le cas pour ton fichier "PayementFactureCopie" ; par contre, sur la photo du fichier "TableauPayementPhoto" de ton post #19, c'est différent ; alors j'ai bien l'impression que tu te trompes de fichier ! :confused:

si tu veux que je t'aide davantage, fais comme je t'ai demandé : a) envoie-moi un fichier sans données confidentielles et sans photo ; b) indique-moi dans quelles cellules tu as des résultats faux ; et pour chacune de ces cellules, quel est le nombre que tu voudrais voir à la place de celui qui y est déjà.​

soan
 

Discussions similaires

Réponses
7
Affichages
180
Réponses
2
Affichages
262

Statistiques des forums

Discussions
312 164
Messages
2 085 870
Membres
103 007
dernier inscrit
salma_hayek