Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Fonction CountIf et tableau vba

marcobosio

XLDnaute Nouveau
Hello,

j'ai un petit souci pour compter le nombre d'occurrences (avec la fonction CountIf) dans un tableau généré par VBA (de type tableau() ).

Le problème est lié à cette ligne de code :

Sheets("TDB").Range("A3").Offset(i, 2).Value = Application.WorksheetFunction.CountIf(Etat, "J")
... sachant qu' "Etat" est un tableau VBA, de type Etat(0 To t)

J'ai essayé de tout détailler dans le fichier Excel joint, en espérant que ce soit clair...

Merci !!
 

Pièces jointes

  • Test_countif.xls
    48 KB · Affichages: 225

Pierrot93

XLDnaute Barbatruc
Re : Fonction CountIf et tableau vba

Bonjour Marco

a priori le 1er argument de la fonction "CountIf" est un objet "Range" et non un tableau...

il faut sans doute faire une boucle sur la plage concernée et alimenter un compteur..

bon après midi
@+
 

marcobosio

XLDnaute Nouveau
Re : Fonction CountIf et tableau vba

Bonjour Pierrot,
et merci de ta réponse !!

A ta connaissance, existe-t-il une autre façon que le countif pour compter les cellules d'un tableau qui correspondent à une certaine valeur ?
 

pierrejean

XLDnaute Barbatruc
Re : Fonction CountIf et tableau vba

bonjour Marco

Salut Pierrot

non testée because ton fichier n'a pas le fichier source, une fonction qui devrait te donner le compte cherché

declarer
Public Etat()

Function compte(cherche As String)
compte = 0
For n = 0 To UBound(Etat)
If Etat(n) = cherche Then compte = compte + 1
Next n
End Function
 

ninbihan

XLDnaute Impliqué
Re : Fonction CountIf et tableau vba

Bonjour Marcobosio, Pierrot et Pierre Jean
Une variante sans fonction
Sheets("TDB").Range("A3").Offset(i, 2).Value = UBound(Etat) + 1 - Len(Replace(Join(Etat, ""), "J", ""))

Bon après midi

@+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…