Fonction VBA COUNTIF dans Excel (6 exemples)

  • Partage Ça
Hugh West

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.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.