Compter le nombre de fois où une condition est vérifiée

Signaler
Messages postés
15
Date d'inscription
vendredi 16 janvier 2009
Statut
Membre
Dernière intervention
2 janvier 2015
-
Messages postés
156
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
2 mars 2009
-
bonjour,
j'ai une colonne de 24000 lignes qui contiennent "C01", "C02"; jusqu'à"C21", ma question est comment faire pour compter le nombre de lignes égales à "C01"; "C02" ainsi de suite. mais auparavant j'ai crée un tableau pour y mettre (C01;C02;....;C21).

Merci

4 réponses

Messages postés
156
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
2 mars 2009

Salut,

Une routine pourrais faire l'affaire non ?

déclare des variables C1 à C21 de type integer.

For i = 0 to Tableau.lenght
          select case  tableau(i).text
                case "C01"
                       C1= C1+1
               case "C02"
                       C2=C2+1
                        ......
                        ...
                        ....
          end select
Next i

LC
Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
8
Salut,

J'ai une petite question une colonne de quoi ? (ListView, DataGridView) Colonne d'excel avec VBA >>> On sait jamais, c'est pas la première personne qui se trompe de catégorie.

Donc je pars de l'hypothèse que les valeurs à contrôler sont dans un tableau, je tiens à préciser que ce n'est pas comme çà que je coderais mais devant le peu d'informations qui nous a été données, ce n'est juste qu'un exemple pour montrer la démarche :




' Tableau qui va contenir le nombre d'occurences


' de chaque élèment



Dim
 TableauCpt(21As Integer
' Tableau contenant les valeurs où on doit compter
' les occurences
Dim TableauValeur(24000As String

' Initialisation du tableau
Array.Clear(TableauCpt, 0, TableauCpt.Count - 1)

' Boucle sur tous les valeurs où on doit compter
' les occurences
For Each nb As String In TableauValeur
     ' si nb =  "C17"
     ' alors nb.Substring(1) = "17"
     nb = nb.Substring( 1 )
     ' On contrôle si nb est bien un nombre
     If IsNumeric(nb)  = True Then
          ' Cint permet de convertir une expression
          ' en Integer

          ' Si nb =  "01"
          ' Alors Cint(nb) - 1 = "0"
          ' Donc on fait TableauCpt(0) += 1
          ' ou encore TableauCpt(0) = TableauCpt(0) + 1
          TableauCpt( CInt (nb) - 1) + = 1

          ' C01 --> Incrémentation de TableauCpt(0)
          ' C02 --> Incrémentation de TableauCpt(1)
          ' ...
          ' C21 --> Incrémentation de TableauCpt(20)
     End If
Next





++

Fauve

<hr size="2" width="100%" />
Pensez : Réponse Acceptée 
Messages postés
15
Date d'inscription
vendredi 16 janvier 2009
Statut
Membre
Dernière intervention
2 janvier 2015

merci à LC,

je viens d'appliquer le code mais à chaque fois que je compile le message d'erreur suivant apparaît
erreur de compilation
Qualificateur incorrect

pouvez-vous me proposer une solution
Messages postés
156
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
2 mars 2009

Re,

en écrivant vite j'ai fait des erreurs de syntaxe comme .lenght qui en réalité s'écrit .Length ....

Néanmoins avec la bonne méthode ce ne passe pas non plus ... bizarre ca... je dois peut-être me mélanger entre vba et .net ... y a un mystère que je vais devoir éclaircir là ...

La méthode de fauve est mieux que la mienne de toutes façons car plus complète, donc utilise là plutôt ;)

LC