compter par rapport à une condition

  • Initiateur de la discussion Initiateur de la discussion duff0608
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

duff0608

Guest
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

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
 
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...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
372
Réponses
10
Affichages
395
Réponses
4
Affichages
428
Retour