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

cs_dior2009 Messages postés 15 Date d'inscription vendredi 16 janvier 2009 Statut Membre Dernière intervention 2 janvier 2015 - 16 janv. 2009 à 14:20
whitelegend Messages postés 156 Date d'inscription vendredi 13 janvier 2006 Statut Membre Dernière intervention 2 mars 2009 - 19 janv. 2009 à 11:03
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

whitelegend Messages postés 156 Date d'inscription vendredi 13 janvier 2006 Statut Membre Dernière intervention 2 mars 2009
16 janv. 2009 à 17:52
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
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
16 janv. 2009 à 20:41
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 
0
cs_dior2009 Messages postés 15 Date d'inscription vendredi 16 janvier 2009 Statut Membre Dernière intervention 2 janvier 2015
19 janv. 2009 à 10:40
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
0
whitelegend Messages postés 156 Date d'inscription vendredi 13 janvier 2006 Statut Membre Dernière intervention 2 mars 2009
19 janv. 2009 à 11:03
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
0
Rejoignez-nous