NB.SI.ENS avec un critère lié à une macro

tweety57

XLDnaute Junior
Bonjour à tous,

Je voudrais établir une liste d'opérations avec les personnes aptes à cette opération par niveau (1,2,3) et sur la même ligne mettre en couleur bleue la personne capable d'une suppléance avec son niveau de suppléance (1,2,3) (remplissage manuel).

Ensuite, je voudrais que le système me calcule automatiquement par opération :
- le nombre de personne de niveau 3 (hors suppléance)
- le nombre de personne de niveau 2 (hors suppléance)
- le nombre de personne de niveau 1 (hors suppléance)

J'ai fait dans un permier temps un test sur les personnes de niveau 3 : j'ai utilisé la fonction NB.SI pour compter le nombre de personne de niveau 3. J'ai créé une macro pour compter le nombre de cellule bleue dans l'opération.

Problème : je n'arrive pas à combiner les 2 pour avoir le nombre de personne de niveau 3 par opération, sans les suppléants de l'opération. J'ai tenté la fonction NB.SI.ENS mais je n'arrive pas à intégrer la cellule contenant la macro dans les critères (à supposer que cela soit la bonne solution).

Cette problématique s'applique également pour les niveaux 2 et 1.

Je vous joins un modèle synthétisé de ce que j'ai déjà réalisé.

En espérant que vous pourrez me dépanner.
 

Pièces jointes

  • tetst matrice et nbsiens.xlsm
    20.3 KB · Affichages: 14
  • tetst matrice et nbsiens.xlsm
    20.3 KB · Affichages: 19
  • tetst matrice et nbsiens.xlsm
    20.3 KB · Affichages: 18

vgendron

XLDnaute Barbatruc
Re : NB.SI.ENS avec un critère lié à une macro

Bonjour,

je ne suis pas sur d'avoir bien compris..
la fonction que j'ai rajouté calcule le nombre de suppléance de niveau 1, 2 et 3
à adapter pour ton besoin si ca ne répond pas tout à fait
 

Pièces jointes

  • tetst matrice et nbsiens.xlsm
    22 KB · Affichages: 8
  • tetst matrice et nbsiens.xlsm
    22 KB · Affichages: 13
  • tetst matrice et nbsiens.xlsm
    22 KB · Affichages: 14

vgendron

XLDnaute Barbatruc
Re : NB.SI.ENS avec un critère lié à une macro

sans les suppléants de l'opération.

donc.. si tu veux compter le nombre de niveau 3.. qui ne sont PAS des suppléants, il te suffit de modifier la fonction comme ceci
Code:
Function NiveauParSuppléance(niv As Integer, champ As Range, couleurfond As Range)
Application.Volatile
Dim c, temp
temp = 0
niv1 = 0
niv2 = 0
niv3 = 0
cf = couleurfond.Interior.Color
For Each c In champ
    If c.Interior.Color <> cf And c = 1 Then niv1 = niv1 + 1
    If c.Interior.Color <> cf And c = 2 Then niv2 = niv2 + 1
    If c.Interior.Color <> cf And c = 3 Then niv3 = niv3 + 1
Next c
Select Case niv
Case 1
NiveauParSuppléance = niv1

Case 2
NiveauParSuppléance = niv2

Case 3
NiveauParSuppléance = niv3
End Select
End Function
 

tweety57

XLDnaute Junior
Re : NB.SI.ENS avec un critère lié à une macro

C'est pile poil ce qu'il fallait.

Avec la nouvelle fonction je peux calculer les supplénats par niveau et les retirer de l'effectif.

Pour les personnes de niveau 3 : NB.SI(B7:U7;3)-NiveauParSuppléance(3;B7:U7;B4)

Merci pour cette solution efficace et rapide !
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote