Bonsoir,
la formule suivante permet de compter les jours de présence dans un planning formé de colonnes (colonne des jours ; colonne donnant le N° du jour dans la semaine_1 à 7_ ; plus 1 colonne par personne ) en ne comptant que les jeudi (par exemple) : la fonction est utilisée en dessous de chaque colonne "personne".
BgColor est la cellule de référence couleur avec laquelle les jours de présence sont notés (par exemple vert) ;
Jsem est le N° du jour de la semaine voulu (4 si on ne veut compter que les jeudis par exemple) ;
i permet de référencer la colonne contenant le N° des jours avec offset (on doit donc entrer la valeur -8 si la colonne des N° de semaine est 8 cases à gauche de la colonne "personne" testée.
Ca fonctionne, mais on ne peut pas étirer les cellules pour calculer la même chose pour toutes les personnes ie il faut à chaque fois saisir la valeur du i.
J'ai donc essayé de faire calculer automatiquement le i dans la fonction.
Avec la fonction ComptColone donnée un peu plus loin, on peut compter l'écart entre 2 colonnes, mais je n'arrive pas à l' inclure dans ma formule.
En espérant que la présentation du pb ne soit pas trop brouillon...merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 'compte cellules avec une couleur de fond en fonction du jour de la semaine Function ColorCountFctJSem(SearchArea As Object, BgColor1 As Range, i As Integer, Jsem As Integer) As Integer Application.Volatile True ColorCountFctJSem = 0 MaCoul1 = BgColor1.Interior.ColorIndex For Each cell In SearchArea If cell.Interior.ColorIndex = MaCoul1 And cell.Offset(0, i).Value = Jsem Then ColorCountFctJSem = ColorCountFctJSem + 1 Next cell End Function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Function comptcolone(NJour As Range) As Integer comtcolone = 0 Dim i As Integer Dim j As Integer i = NJour.Column j = ActiveCell.Column comptcolone = i - j End Function
Partager