Table des matières
Le site COUNTIF dans Excel est utilisée pour compter le nombre de cellules d'une plage qui répondent à une condition donnée. Dans cet article, nous allons vous montrer comment utiliser la fonction COUNTIF dans Excel avec VBA macro.
Télécharger le cahier d'exercices
Vous pouvez télécharger le cahier d'exercices Excel gratuit à partir d'ici.
Fonction COUNTIF avec VBA.xlsm
Fonction COUNTIF dans Excel
- Syntaxe
WorksheetFunction.CountIf( Arg1 En tant que gamme, Arg2 ) En tant que double
- Paramètres
Paramètre | Obligatoire/ Facultatif | Type de données | Description |
---|---|---|---|
Arg1 | Requis | Gamme | L'intervalle de cellules à partir des cellules de comptage. |
Arg2 | Requis | Variante | Un nombre, une expression, une référence de cellule ou du texte qui définit les cellules à compter. Par exemple, l'expression peut être 20, "20", ">20", "fruit" ou B2. |
- Type de retour
Valeur en tant que double
6 exemples d'utilisation de la fonction COUNTIF dans Excel avec VBA
Dans cette section, vous apprendrez à utiliser la fonction COUNTIF dans Excel pour compter des textes, des chiffres, etc. avec la fonction VBA code.
1. fonction feuille de travail avec COUNTIF dans Excel VBA
Excel Fonction de la feuille de travail peut être utilisé pour appeler la plupart des autres fonctions d'Excel qui sont disponibles dans la fonction la fonction d'insertion dans Excel et la boîte de dialogue COUNTIF est l'une de ces fonctions.
Avec l'exemple ci-dessus, nous allons apprendre à utiliser la fonction Fonction de la feuille de travail avec COUNTIF pour compter les données avec VBA dans Excel.
Des pas :
- Appuyez sur Alt + F11 sur votre clavier ou allez dans l'onglet Développeur -> ; Visual Basic pour ouvrir Éditeur Visual Basic .
- Dans la fenêtre de code contextuelle, dans la barre de menu, cliquez sur Insertion -> ; Module .
- Copiez le code suivant et collez-le dans la fenêtre de code.
Sub ExCOUNTIF() Range("B13") = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") End Sub
Votre code est maintenant prêt à être exécuté.
- Appuyez sur F5 sur votre clavier ou dans la barre de menu, sélectionnez Run -> ; Run Sub/UserForm Vous pouvez également cliquer sur le bouton petite icône Play dans la barre de sous-menu pour exécuter la macro.
Nous voulions savoir combien de nombres de notre ensemble de données sont inférieurs à 3. Après avoir exécuté le code, nous avons obtenu le résultat 4, qui est le nombre de nombres inférieurs à 3 pour notre ensemble de données.
Lire la suite : Comment utiliser le COUNTIF entre deux nombres (4 méthodes)
2. la fonction COUNTIF pour compter un texte spécifique dans Excel
Si vous souhaitez compter un texte spécifique tel que le nombre de villes, de noms, d'aliments, etc. présents dans une feuille Excel, vous pouvez utiliser la fonction de comptage de texte. COUNTIF fonction dans VBA .
À partir de l'exemple ci-dessus, nous apprendrons à utiliser la fonction COUNTIF pour compter combien de fois le nom John se produit dans notre ensemble de données avec VBA macro.
Des pas :
- De la même manière que précédemment, ouvrez Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
- Dans la fenêtre de code, copiez le code suivant et collez-le.
Sub CountifText() 'input countName = WorksheetFunction.CountIf(Range("B5:B10"), "John") 'output Range("E7") = countName End Sub
Votre code est maintenant prêt à être exécuté.
- Exécuter la macro et vous obtiendrez le compte total.
Si vous ne voulez pas écrire le texte directement dans votre code, vous pouvez d'abord le stocker dans une variable et ensuite passer la variable dans le code, comme dans le code ci-dessous,
Sub CountifText() 'input Name = Range("E6") countName = WorksheetFunction.CountIf(Range("B5:B10"), Name) 'output Range("E7") = countName End Sub
Lire la suite : Compter le texte au début avec les fonctions COUNTIF & ; LEFT dans Excel
3. fonction COUNTIF pour calculer un nombre avec VBA
Vous pouvez utiliser le COUNTIF pour extraire certains résultats.
À partir de l'exemple ci-dessus, nous apprendrons à utiliser la fonction COUNTIF pour compter combien de nombres il y a dans notre jeu de données qui sont supérieure à 1,1 avec VBA macro.
Des pas :
- De la même manière que précédemment, ouvrez Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
- Dans la fenêtre de code, copiez le code suivant et collez-le.
Sub CountifNumber() 'input countNum = WorksheetFunction.CountIf(Range("B5:B10"), ">1.1") 'output Range("E7") = countNum End Sub
Votre code est maintenant prêt à être exécuté.
- Exécuter la macro et vous obtiendrez le compte total.
Comme nous l'avons vu précédemment, si vous ne voulez pas écrire le nombre directement dans votre code, vous pouvez d'abord le stocker dans une variable et ensuite passer la variable dans le code, comme dans le code ci-dessous,
Sub CountifNumber() 'input Num = Range("E6") countNum = WorksheetFunction.CountIf(Range("B5:B10"), "> ;" & ; Num) 'output Range("E7") = countNum End Sub
Lire la suite : COUNTIF d'Excel avec des critères plus grands et plus petits
Lectures similaires
- Fonction COUNTIF d'Excel pour compter les cellules supérieures à 0
- Comment utiliser les fonctions IF et COUNTIF ensemble dans Excel
- Excel COUNTIF pour compter une cellule qui contient le texte d'une autre cellule
- Comment utiliser la fonction COUNTIF pour calculer un pourcentage dans Excel ?
4. fonction COUNTIF avec une plage d'objets dans Excel
Vous pouvez affecter un groupe de cellules à la Objet de la gamme et ensuite utiliser cette Objet de la gamme pour compter les valeurs dans Excel.
Des pas :
- Ouvrir Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
- Dans la fenêtre de code, copiez le code suivant et collez-le.
Sub ExCountIFRange() Dim iRng As Range 'Assigner la plage de cellules Set iRng = Range("B5:B10") 'Utiliser la plage dans la formule Range("B13") = WorksheetFunction.SumIf(iRng, ">1") 'Libérer l'objet plage Set iRng = Nothing End Sub
Votre code est maintenant prêt à être exécuté.
- Exécuter le code et vous obtiendrez le compte total avec une valeur de totalisation.
Lire la suite : Comment utiliser le COUNTIF pour une plage non contiguë dans Excel ?
5. méthode de la formule COUNTIF dans Excel
Vous pouvez également utiliser le Formule et/ou FormuleR1C1 pour appliquer un COUNTIF à une cellule dans VBA Ces méthodes sont plus souples pour réaliser de telles opérations.
5.1 Méthode de la formule
La formule permet de spécifier la plage de cellules comme B5:B10 montré ci-dessous dans l'exemple.
Des pas :
- Dans la fenêtre de code du Éditeur Visual Basic copier le code suivant et le coller.
Option Explicit Sub ExCountIfFormula() Range("B13").Formula = "=COUNTIF(B5:B10, "">1"")" End Sub
Votre code est maintenant prêt à être exécuté.
Ce morceau de code vous donnera le nombre total de données dont vous avez besoin.
5.2 Méthode FormulaR1C1
La formuleR1C1 est plus souple, car elle ne se limite pas à une plage déterminée de cellules.
Avec le même ensemble de données, nous allons maintenant apprendre à utiliser les éléments suivants FormuleR1C1 pour compter les valeurs dans VBA .
Des pas :
- Dans la fenêtre de code du Éditeur Visual Basic copiez le code suivant et collez-le.
Option Explicit Sub ExCountIfFormulaRC() Range("B13").FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C, "">2"")" End Sub
Votre code est maintenant prêt à être exécuté.
Ce code vous donnera également le nombre total de données dont vous avez besoin.
Si vous ne voulez pas définir la plage de sortie, vous pouvez rendre ce code encore plus flexible en l'écrivant comme ceci,
Option Explicit Sub ExCountIfFormulaRC() ActiveCell.FormulaR1C1 = "=COUNTIF(R[-8]C:R[-1]C,"">2"")" End Sub
La formule comptera les cellules qui répondent à la condition et placera la réponse dans le champ ActiveCell dans votre feuille de calcul. COUNTIF doit être référencée à l'aide de la fonction Rangée (R) et Colonne (C) la syntaxe.
Lire la suite : Comment appliquer le COUNTIF entre deux valeurs de cellules dans Excel ?
6. affectation du résultat de la fonction COUNTIF à une variable
Si vous souhaitez utiliser le résultat de votre formule ailleurs que dans votre ensemble de données Excel, vous pouvez affecter le résultat à une variable et l'utiliser plus tard dans votre code.
Le site VBA Le code pour cela est,
Sub AssignCountIfVariable() Dim iResult As Double 'Assigner la variable iResult = Application.WorksheetFunction.CountIf(Range("B5:B10"), "<3") 'Afficher le résultat MsgBox "Le nombre de cellules dont la valeur est inférieure à 3 est " & ; iResult End Sub
Le résultat s'affiche dans la boîte de messages Excel.
Lire la suite : COUNTIF Exemple Excel (22 exemples)
Conclusion
Cet article vous a montré comment utiliser le COUNTIF dans Excel avec VBA J'espère que cet article vous a été très utile. N'hésitez pas à me demander si vous avez des questions sur le sujet.