Calculer un nombre de personnes selon une multitude de critères

Bonjour,

J'espère que quelqu'un pourra m'éclairer sur ce forum.

Pour une mission, dans mon fichier, je dois comptabiliser :

  • Le nombre d'élèves disposant d'au moins un diplôme actif (1 ou plus)
  • Le nombre d'élèves diplômés (diplômes actifs) dans plusieurs disciplines
  • Le nombre d'élèves diplômés (diplôme actif) dans une seule discipline.

J'ai essayé des formules (types nb.si.ens) dans tous les sens, en vain...

Dans un souci de confidentialité, la nature de ma demande concerne un autre besoin sur une base de données beaucoup beaucoup plus conséquente.

Merci à ceux et celles qui prendront le temps de lire mon post et de m'aiguiller !

Bonne journée

Bonjour à tous,

Il y a une différence entre diplôme A+histoire et diplôme B+histoire ?

Crdlmt

Oui ce sont bien deux diplômes distincts.

Merci à vous.

Bonjour,

" sur une base de données beaucoup beaucoup plus conséquente." Plus de 64000 lignes?

si moins de 64000 lignes, essayez ceci:

Cdlt

Bonjour,

Merci ! Non. Environ 10 000 lignes.

Par contre, où retrouver les formules utilisées ?

Merci d'avance

Elles sont effacées après la fin du traitement, dans le code suivant:

Sub Comptage()
    Dim DerLig As Long
    Dim D As Object

    Application.ScreenUpdating = False
    Set D = CreateObject("Scripting.Dictionary")
    Range("H3:H5").ClearContents
    DerLig = Range("A" & Rows.Count).End(xlUp).Row

    'Nombre d'élèves disposant d'au moins un diplôme actif
    For Each C In Range("A1:A" & DerLig)
        If C.Offset(0, 3).Text = "ACTIF" Then
            D(C.Text) = ""
            If Not D.exists(C.Text) Then D(C.Text) = ""
        End If
    Next C
    If D.Count > 0 Then
        Columns("K").Clear
        'Range("K1").Offset(1).Resize(D.Count, 1) = Application.Transpose(D.keys)
        Range("H3") = D.Count
    End If
    D.RemoveAll

    'Nombre d'élèves diplomés (diplôme actif) dans plusieurs disciplines
    With Range("E2:E" & DerLig)
        .FormulaR1C1 = "=IF(RC4=""ACTIF"",RC1&"" ""&RC2 &"" ""&RC3&"" ""&RC4,"""")"
        .Value = .Value
    End With
    With Range("F2:F" & DerLig)
        .FormulaR1C1 = "=IF(RC5<>"""",SUMPRODUCT((R2C1:RC1=RC1)*(R2C5:RC5<>"""")),"""")"
        .Value = .Value
    End With
    Range("H4").Value = Application.CountIf(Range("F2:F" & DerLig), ">" & 1)

    'Nombre d'élèves diplomés (diplôme actif) dans une seule discipline
    Range("H5").Value = Range("H3").Value - Range("H4").Value

    Columns("E:F").ClearContents
    Set D = Nothing
End Sub

il suffit de mettre une apostrophe devant la ligne si vous voulez les voir

Columns("E:F").ClearContents

Cdlt

Merci !!

Cordialement

Rechercher des sujets similaires à "calculer nombre personnes multitude criteres"