Re : NB.SI en vba c'est utilisable ?
Bonjour a tous
Voila, j'ai aussi un petit besoin d'aide au sujet de NB.SI au sein de VBA
Donc, plutot que d'ouvrir un autre message ... je viens ici ( en espérant bien faire )
Mon probleme est le suivant , je souhaite simplifier l'encodage d'un tableau de présence
Pour le moment c'est comme ce
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