Compter ligne selon valeur de la colonne
New_VBA_User
Messages postés
82
Date d'inscription
Statut
Membre
Dernière intervention
-
New_VBA_User Messages postés 82 Date d'inscription Statut Membre Dernière intervention -
New_VBA_User Messages postés 82 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerai compter les lignes spécifiques d'une colonne selon la valeur d'une autre colonne.
par ex. dans ma colonne "C" j'ai les éléments "B101", "B102" plusieurs fois, j'aimerai les compter dans les textbox séparer si on a "YES" qui est marquée dans la colonne "G"
j'arrive à compter les éléments B101 et B102, mais je ne sais pas comment faire avec la condition de colonne G.
merci de l'aide.
voir le fichier d'exemple. et l'image.
https://www.cjoint.com/c/IIqoAwMuhiI

J'aimerai compter les lignes spécifiques d'une colonne selon la valeur d'une autre colonne.
par ex. dans ma colonne "C" j'ai les éléments "B101", "B102" plusieurs fois, j'aimerai les compter dans les textbox séparer si on a "YES" qui est marquée dans la colonne "G"
j'arrive à compter les éléments B101 et B102, mais je ne sais pas comment faire avec la condition de colonne G.
merci de l'aide.
voir le fichier d'exemple. et l'image.
https://www.cjoint.com/c/IIqoAwMuhiI
Configuration: Windows / Edge 18.17763
2 réponses
-
Bonjour,
Suivant le même principe que dans https://forums.commentcamarche.net/forum/affich-36211123-trouver-des-meme-mot-et-afficher-dans-textbox#p36215347 ...
Si tu devais le faire par formule, la fonction NB.SI.ENS et la fonction SOMMEPROD peuvent servir.
En VBA tu peux utiliser Application.WorksheetFunction pour y faire appel. Fais un enregistrement de macro pour obtenir la syntaxe.
A+-
j'ai essayé qqch comme ça, ça marche bien.
Dim dl As Integer With Sheets("Feuil3") dl = .Range("C" & Rows.Count).End(xlUp).Row TextBox1.Value = Application.WorksheetFunction.CountIfs(Range("C2:C" & dl), "B101", Range("G2:G" & dl), "YES") TextBox2.Value = Application.WorksheetFunction.CountIfs(Range("C2:C" & dl), "B102", Range("G2:G" & dl), "YES") End With
-
-
Bonjour a vous tous,
J'utilise une autre logique etant donne qu'il y a de trous colonne C. Compter les YES colonne G et voir ce qu'il y a dans la colonne C
Private Sub UserForm_Initialize() With Worksheets("Sheet1") Set Plage = .Range("G2:G" & .Range("G" & Rows.Count).End(xlUp).Row) NBYES = Application.CountIf(Plage, "YES") If NBYES > 0 Then B101 = 0 B102 = 0 lig = 1 For n = 1 To NBYES lig = .Columns(7).Find("YES", .Cells(lig, 7), , xlWhole).Row If .Cells(lig, 3) = "B101" Then B101 = B101 + 1 ElseIf .Cells(lig, 3) = "B102" Then B102 = B102 + 1 Else End If Next n TextBox1 = B101 TextBox2 = B102 Else MsgBox "Pas de YES............." End If End With End Sub