Comtage de lignes dans excel vba
Fermé
débutant_vba
-
6 nov. 2012 à 13:04
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 6 nov. 2012 à 17:59
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 6 nov. 2012 à 17:59
Bonjour,
Je suis débutant en vba et je voudrais faire une boucle qui me permet de compter combien de fois un chiffre est présent dans une série de chiffres.
Plus précisément:
Dans la colonne A j'ai environ 3000 valeurs qui possèdent un des 100 choix possibles (choix1, choix 2, choix 3 etc..). Je voudrais faire une macro qui me permettra de calculer combien il y a t-il de valeur pour chaque choix.
Je voudrais que le résultat s'affiche dans la colonne B, de B1 jusqu'à B100.
Merci par avance de votre aide
Je suis débutant en vba et je voudrais faire une boucle qui me permet de compter combien de fois un chiffre est présent dans une série de chiffres.
Plus précisément:
Dans la colonne A j'ai environ 3000 valeurs qui possèdent un des 100 choix possibles (choix1, choix 2, choix 3 etc..). Je voudrais faire une macro qui me permettra de calculer combien il y a t-il de valeur pour chaque choix.
Je voudrais que le résultat s'affiche dans la colonne B, de B1 jusqu'à B100.
Merci par avance de votre aide
A voir également:
- Comtage de lignes dans excel vba
- Liste déroulante excel - Guide
- Aller à la ligne excel - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
4 réponses
Le Pingou
Messages postés
12242
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
16 mars 2025
1 458
6 nov. 2012 à 15:21
6 nov. 2012 à 15:21
Bonjour,
Pourquoi pas simplement avec une fonction :
en [B1] =NB.SI(A:A;"Choix 1")
en [B2] =NB.SI(A:A;"Choix 2")
............
en [B100] =NB.SI(A:A;"Choix 100")
Pourquoi pas simplement avec une fonction :
en [B1] =NB.SI(A:A;"Choix 1")
en [B2] =NB.SI(A:A;"Choix 2")
............
en [B100] =NB.SI(A:A;"Choix 100")
Le Pingou
Messages postés
12242
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
16 mars 2025
1 458
Modifié par Le Pingou le 6/11/2012 à 15:56
Modifié par Le Pingou le 6/11/2012 à 15:56
Bonjour,
Ou se trouve votre liste des choix ?
Quelles sont les valeurs de ces choix..?
Voir exemple : https://www.cjoint.com/?3Kgp3I3LCvR
Salutations.
Le Pingou
Ou se trouve votre liste des choix ?
Quelles sont les valeurs de ces choix..?
Voir exemple : https://www.cjoint.com/?3Kgp3I3LCvR
Salutations.
Le Pingou
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
Modifié par michel_m le 6/11/2012 à 16:10
Modifié par michel_m le 6/11/2012 à 16:10
Bonjour,
Cela se fait En 5 minutes avec un Tableau Croisé Dynamique sans se prendre la t^te avec des formules et n'importe quel texte dans la colonne A
mais si on tient vraiment à une macro (pourquoi?... avant de penser Macro, penser XL)
en voici une pour le fun vite fait sur le gaz
Michel
Cela se fait En 5 minutes avec un Tableau Croisé Dynamique sans se prendre la t^te avec des formules et n'importe quel texte dans la colonne A
mais si on tient vraiment à une macro (pourquoi?... avant de penser Macro, penser XL)
en voici une pour le fun vite fait sur le gaz
Sub recenser_choix() Dim D_choix As Object, plage As Range Dim derlig As Integer, cptr As Integer Dim T_in(), uniq(), T_nbre(0 To 99, 0 To 1) Application.ScreenUpdating = False Set D_choix = CreateObject("scripting.dictionary") derlig = Columns("A").Find("*", , , , , xlPrevious).Row Set plage = Range("A1:A" & derlig) T_in = Application.Transpose(plage.Value) For cptr = 1 To derlig If Not D_choix.exists(T_in(cptr)) Then D_choix.Add T_in(cptr), "" Next uniq = D_choix.keys For cptr = 0 To UBound(uniq) T_nbre(cptr, 0) = uniq(cptr) T_nbre(cptr, 1) = Application.CountIf(plage, uniq(cptr)) Next Range("B1:C100") = T_nbre End Sub
Michel
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
6 nov. 2012 à 17:59
6 nov. 2012 à 17:59
Bonjour,
merci d'éviter les doublons : https://forums.commentcamarche.net/forum/affich-26414633-compteur-de-lignes-vba#p26416323
eric
merci d'éviter les doublons : https://forums.commentcamarche.net/forum/affich-26414633-compteur-de-lignes-vba#p26416323
eric
6 nov. 2012 à 15:32