NB.SI combiné avec une détection de couleur de fond

Bonjour a tous

Mon probleme est le suivant , je souhaite simplifier l'encodage d'un tableau de présences

Pour le moment c'est comme ceci

Sat Sun Mon Tue Wed Thu Fri Sat Sun

01 02 03 04 05 06 07 08 09

PW PW P P X X P PW PW

XW XW MM MM MM MM MM XW XW

PW PW P X X P P PW PW

PW PW X X P P P PW XW

CAW CAW CA X CA CA CA XW XW

Ce qu'on ne voit pas c'est que de manière automatique, les samedi et dimanche ( le weekend ) ont un fond coloré ( histoire de s'y retrouver )

Apres tout le mois , j'ai différentes colonnes qui calcules certaines choses

Par exemple :

=(NBJO-(COUNTIF($F35:$AJ35,"M*")+COUNTIF($F35:$AJ35,"PCL" )+COUNTIF($F35:$AJ35,"CSS")))/8*$E35

=COUNTIF($F37:$AJ37,"M")+COUNTIF($F37:$AJ37,"PCL")

=COUNTIF($F37:$AJ37,"*W")-COUNTIF($F37:$AJ37,"XW")

On voit immédiatement que lors de l'encodage et manuellement il faut rajouter un W pour mentionner le Weekend.

Du coup, mes formules doivent gérer les élements encodés pour retrouver le valeurs *W , CAW , XW , etc

Evidement, j'aurais préféré que l'encodage entre la semaine et le weekend soit le même;

et adapter mes formules pour qu'il y ai le NB.SI mais en plus une vérification si la cellule a une couleur de fond.

J'ai bien réussit a définir des fonctions VBA pour réagir seulement si le fond est coloré , mais pas a étendre le comportement

avec un NB.SI

Mes fonctions sont :

Function ISWeekend(cell As Range)

Application.Volatile True

If (ColorCell(cell) > 0) Then

ISWeekend = vbTrue

Else

ISWeekend = vbFalse

End If

End Function

Public Function ColorCell(Cible As Range) As Variant

Application.Volatile True

ColorCell = Cible.Interior.ColorIndex

End Function

Merci d'avance pour vos réponses et aide

Bonjour,

Si une solution par formules simples pourrait te convenir, un petit exemple en pièce jointe serait plus facile pour te montrer comment faire.

dré

Voici un fichier

( Allégé pour qu'il ne fasse que 100Ko )

https://www.excel-pratique.com/~files/doc/Pointages_DA_cembre_Copie.xls

Je disais VBA , mais je suis évidement ouvert a toute solution qui fonctionne

Bonsoir,

Il te faudra un peu de patience, le temps de tout comprendre dans ton fichier.

A première vue, pas besoin des W pour différencier les weekend (puisque les dates le font), et il y a quelques formules à (fortement) simplifier, ainsi que les MFC.

Je vois cela demain, dès que j'ai cinq minutes, à moins que quelqu'un d'autre l'a fait avant moi..

dré

Salut

En effet, pour l'instant , j'ai mis en place une solution rapide ... avec une différenciation des weekend avec des W pour que les formules "comprennent"

La coloration des cellules de Weekend ... c'est pour l'instant uniquement un repère visuel justement pour que celui qui encode sache quand il doit ajouter un W ( ou pas )

Tu dis que les formules doivent être fort simplifiées .. je ne pense pas qu'elle soient TRES compliquées ... il ne manqe a mon avis que l'interprétation du code X , M , P , CA .. etc mais en considérant le meme range de cellules et en "trouvant" les weekend.

ca veux dire que au lieu d'avoir un NB.SI , avec un critère "*W" ou explicite CAW , etc

ca sera un NB.SI combiné avec un "IsWeekend".

Comme je l'avais dit , j'ai réussit a le faire pour une cellule ... il faut a priori "juste" que je comprenne comment on fait pour un ensemble de cellule ...

Si tu as besoin d'aide ou de commentaires .. on peux le faire par email .. si tu veux

Rechercher des sujets similaires à "combine detection couleur fond"