compter par rapport à une condition

duff0608

XLDnaute Nouveau
Bonjour
je ne trouve pas comment effectuer un comptage en fonction d'une date
je vous joint un fichier
en fait je souhaiterais connaitre le nombre de cadre / non cadre embauché en mai par exemple, mais pas me servir du tri que cela soit automatique.
j'espere avoie été clair
merci d'avance
 

Pièces jointes

  • cadre ou pas.xlsx
    7.6 KB · Affichages: 41
  • cadre ou pas.xlsx
    7.6 KB · Affichages: 40
  • cadre ou pas.xlsx
    7.6 KB · Affichages: 40

Kiseki

XLDnaute Occasionnel
Re : compter par rapport à une condition

Bonjour,

Pour la première formule :

Code:
=SOMMEPROD((B4:B11=$B$14)*(D4:D11="cadre"))

Valide avec CTRL+MAJ+ENTRER (Formule matriciel).

Il te reste à l'adapter pour le reste.


Tu peux aussi remplacer "cadre" par $A$15
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : compter par rapport à une condition

Bonjour Duff, bonjour le forum.

Une proposition VBA avec la macro ci-dessous :
Code:
Sub Macro1()
Dim cel As Range 'déclare la variable cel (Cellule en Ligne)
Dim cec As Range 'déclare la variable cec (Cellule en Colonne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim nc As Integer 'déclare la variable nc (Nombre de Cadres)
Dim nnc As Integer 'déclare la variable nnc (Nombre de Non Cadres)
 
If Range("B4") = "" Then Exit Sub 'si la cellule B4 est vide, sort de la procédure
Set pl = Range("B4:B" & Range("B3").End(xlDown).Row) 'définit la plage pl
For Each cel In Range("B14:" & Cells(14, Application.Columns.Count).End(xlToLeft).Address(0, 0)) 'boucle 1 : sur toutes les cellule éditées cel de la ligne 14 en partant de la colonne B
    nc = 0: nnc = 0 'initialise les variable nc et nnc
    For Each cec In pl 'boucle sur toutes les cellule cec de la plage pl
        'si le mois de la cellule cel est le même que le mois de la cellule cec et que la valeur cellule corespondant en colonne D est "cadre", incrémente nc
        If Month(cec.Value) = Month(cel.Value) And cec.Offset(0, 2) = "cadre" Then nc = nc + 1
        'si le mois de la cellule cel est le même que le mois de la cellule cec et que la valeur cellule corespondant en colonne D est "non cadre", incrémente nnc
        If Month(cec.Value) = Month(cel.Value) And cec.Offset(0, 2) = "non cadre" Then nnc = nnc + 1
    Next cec 'prochaine cellule de la boucle 2
    cel.Offset(1, 0).Value = nc 'place le nombre de cadre
    cel.Offset(2, 0).Value = nnc 'place le nombre de non cadre
Next cel 'prochaine cellule de la boucle 1
End Sub

[Édition]
Bonjour Kiseki on s'est croisé. Évidemment... Pourquoi faire simple...
 

poulie

XLDnaute Impliqué
Re : compter par rapport à une condition

Bonjour duff0608, Kiseki et le forum,

Une proposition avec SOMMEPROD

Bonne réception
 

Pièces jointes

  • cadre ou pas.xlsx
    8.2 KB · Affichages: 42
  • cadre ou pas.xlsx
    8.2 KB · Affichages: 42
  • cadre ou pas.xlsx
    8.2 KB · Affichages: 41

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 020
dernier inscrit
Mzghal