renvoi d'une valeur si la cellule est en couleur

lopiko

XLDnaute Nouveau
Bonjour à tous.

voilà, je suis pas un grand expert d'excel, mais je me débrouille...

ici, j'ai un cas particulier. pour un tableau de contrôle des km parcourus par nos ouvriers, j'ai utilisé la mise en forme conditionnelle, pour faire en sorte que les cellules où ils avaient un certain nombre de km, la couleur verte ou rouge apparaisse automatiquement selon le résultat.

Ma question maintenant, c'est de savoir, grâce aux résultats obtenus, je puisse avoir sur un tableau séparé (voir sur le même si pas moyen aurtrement) le nombre de fois où les cases ont été rouges par exemple (sans tenir compte de la valeur dans le rouge) afin de faire un autre calcul de taxation.
 

SergiO

XLDnaute Accro
Re : renvoi d'une valeur si la cellule est en couleur

Bonjour lopiko et bienvenue sur XLD,

Tu n'as pas besoin de compter les cellules de couleur.
Si par exemple tu as choisis de mettre en rouge les kilométrages supérieur à 1000, tu peux utiliser cette formule :

=NB.SI(A2:A10;">1000")

@+
 

mécano41

XLDnaute Accro
Re : renvoi d'une valeur si la cellule est en couleur

Bonjour,

Un petit morceau de code en VBA. Au départ, on ne met aucune couleur ni aucune mise en forme conditionnelle; cela se fait après. Attention, il y a des zones nommées dans la feuille.

Cela colorie, compte et met le compte dans la colonne suivante.

Le reste est expliqué dans le fichier.

Cordialement
 

Pièces jointes

  • Comptage Passage Couleur1.xls
    26 KB · Affichages: 334

mécano41

XLDnaute Accro
Re : renvoi d'une valeur si la cellule est en couleur

Il faudrait que tu précises ce que tu veux, car il me semble que Sergio et moi n'avons pas compris la même chose. Lui, il compte le nombre total de cellules rouges à un moment donné et moi je compte, par nom, combien de fois on a dépassé la limite.

Cordialement
 

lopiko

XLDnaute Nouveau
Re : renvoi d'une valeur si la cellule est en couleur

merci pour vos réponses.

sergio, ta formule est extra, mais le souci est que les valeurs varient dans les réponses, donc on ne peut pas appliquer la règle de tenir compte que des chiffres plus élevés qu'un chiffre donné...

et malheureusement, le vba n'est pas mon fort donc je suis toujours bloqué.


voyez sur ma feuille excel ci-jointe (c'est un extrait de mon fichier car il est plus gros que çà dans la réalité)

-sur la ligne 3, on remarque que les km sont dans le bon, donc ils sont en verts sauf 1 jour => il faudrait que le "1" apparaisse en colonne AI

- sur la ligne 8= 13 jours dans le rouge => je voudrais que "13" apparaisse en AI


c'est à la fois con, et hard ... car des chiffres qui seront indiqués en AI (nombre de jours en rouge)=> celà repartira vers une autre feuille avec calcul des taxes de co2
 

Pièces jointes

  • Classeur1.xls
    20 KB · Affichages: 154
  • Classeur1.xls
    20 KB · Affichages: 152
  • Classeur1.xls
    20 KB · Affichages: 160
Dernière édition:

mécano41

XLDnaute Accro
Re : renvoi d'une valeur si la cellule est en couleur

Tu peux faire selon ton fichier modifié joint.

- un test permet de définir si chaque valeur est < celle située plus haut
- on fait la somme des 1 de la ligne

Le test est fait dans une ligne cachée, par nom, mais ces lignes auraient pu être mises ailleurs.

Cordialement
 

Pièces jointes

  • Classeur1-1bis.xls
    27.5 KB · Affichages: 175

lopiko

XLDnaute Nouveau
Re : renvoi d'une valeur si la cellule est en couleur

merci banzai64, via cette matricielle le résultat est impecc...

j'ai buché dessus pendant mon temps de midi, et j'ai pu trouver une deuxième manière de procéder, via la fonction =NB.SI($E329:$AH329;">0,2") tout en changeant auparavant le calcul des lignes 3 et 13 pour les transformer en pourcentage.

les résultats apparaissant en pourcentage, celà devenait un rien plus évident : il n'y avait plus qu'à faire apparaître le nombre de fois où le résultat était supérieur à 20%, et si faire une mise en forme conditionnelle pour la couleur sur la case...

merci les gars!!!
 

jp14

XLDnaute Barbatruc
Re : renvoi d'une valeur si la cellule est en couleur

Bonjour le forum

Ci dessous une fonction personnalisée qui compte un nombre de couleur
Code:
Function nbcouleur(cellules As Range, celluleaveccouleur As Range)
Dim couleur As Long
Dim nb As Long
nb = 0
couleur = celluleaveccouleur.Interior.ColorIndex
For Each cel In ActiveSheet.UsedRange
 If cel.Interior.ColorIndex = couleur Then
  nb = nb + 1
 End If
Next cel
nbcouleur = nb
End Function

On indique à la fonction la plage ou l'on doit compter les cellules colorées, et une cellule qui est colorée.

JP
 

Discussions similaires

Statistiques des forums

Discussions
312 771
Messages
2 091 953
Membres
105 125
dernier inscrit
bidulle