Comptage du nb de lignes suivant deux critères

Bonjour à tous,

Je suis actuellement bloqué sur un code du fait que je n'ai pas assez de compétences dans le domaine (même si j'essaye d'en apprendre un peu plus tout les jours).

Mon problème survient au niveau du code pour la TextBox3 (entre les lignes en pointillé).

Pour l'instant il calcul le nombre de "actif" présent la colonne n°3 de mon tableau.

J'aimerai qu'il calcul le nombre de valeurs avec un critère de plus (a).

En effet je voudrais calculer le nombre de ligne de qui comprennent a et b dans les colonnes 3 et 4.

Je pense que cela doit s’écrire sous la forme : comptage du nombre de lignes ou a est présent ainsi que b.

Quelqu’un peut-il m'aider sur le sujet ?

Merci bien

Cdlt

Private Sub UserForm_Initialize()
Dim ws As Worksheet, ws2 As Worksheet
Dim User As String
Dim n As Long, I As Long
Dim n2 As Long
Dim a As Long
Dim b As Long

    Set ws = Worksheets("Données globale")
    Set ws2 = Worksheets("Amélioration")
    User = Application.UserName
    TextBox1.Value = User
    TextBox8.Value = Format(Date, "DD/MM/YY")
    With ws

        TextBox5 = .Cells(2, 1)
        TextBox6 = .Cells(2, 2)
        TextBox7 = .Cells(2, 3)
    End With
    Label2.BackColor = RGB(64, 187, 180)
    Label3.BackColor = RGB(64, 187, 180)
    Label4.BackColor = RGB(64, 187, 180)
    Label5.BackColor = RGB(64, 187, 180)
    Label1.BackColor = RGB(64, 187, 180)
    With ComboBox2
        .AddItem "Oui"
        .AddItem "Non"
    End With
    With ws2
           n = .Cells(.Rows.Count, 4).End(xlUp).Row
        a = Application.CountIf(.Cells(1, 4).Resize(n), User)
        TextBox2 = a
----------------------------------------------------------------------------
       n2 = .Cells(.Rows.Count, 3).End(xlUp).Row
        b = Application.CountIf(.Cells(1, 3).Resize(n2), "Actif")
        TextBox3 = b
----------------------------------------------------------------------------
       DerLig = Sheets("Amélioration").Cells(Rows.Count, 7).End(xlUp).Row
     For I = 2 To DerLig
    If Sheets("Amélioration").Cells(I, 3) = "En attente de validation" And Sheets("Amélioration").Cells(I, 4) = Application.UserName Then Me.ComboBox1.AddItem Sheets("Amélioration").Cells(I, 7)
Next
    End With
    MsgBox ("Vous avez actuellement " & ComboBox1.ListCount & " actions en attente de validation.")
End Sub

Bonjour,

essaie avec l'instruction countifs

Bonjour H2SO4,

Justement j'ai utilisé le countif suivant 1 critère pour calculer en textbox2. Mais pour la Textbox3, il s'agit du croisement de deux critères. C'est cela que je n'arrive pas à coder.

Je te proposais countifs au lieu de countif.

b = Application.CountIfs(.Cells(1, 3).Resize(n2), "Actif",.Cells(1, 4).Resize(n2),"Actif")

j'ai testé ça ! pour l'instant les résultats sont corrects

Merci !

 With ws2
           n = .Cells(.Rows.Count, 4).End(xlUp).Row
        a = Application.CountIf(.Cells(1, 4).Resize(n), User)
        TextBox2 = a
       n2 = .Cells(.Rows.Count, 3).End(xlUp).Row
        b = Application.CountIfs(.Cells(1, 3).Resize(n2), "Actif", .Cells(1, 4).Resize(n), User)
        TextBox3 = b
Rechercher des sujets similaires à "comptage lignes suivant deux criteres"