Compter les nombres de lignes identiques en vba excel [Résolu/Fermé]

Signaler
Messages postés
3
Date d'inscription
vendredi 22 mai 2015
Statut
Membre
Dernière intervention
5 juin 2015
-
Messages postés
3
Date d'inscription
vendredi 22 mai 2015
Statut
Membre
Dernière intervention
5 juin 2015
-
J'avoue que je suis encore un profane en matières de programmation vba puisque ça fait depuis peu que je la pratique. Mon problème c'est que j'ai une base de donnée d'une colonne et de 17000 lignes à peu près. Ces 17000 lignes prennent une valeur allant de 1 à 4500 et je voudrais compter le nombre de fois que chaque valeur apparaissent dans ces 17000 lignes et ensuite copier dans une nouvelle feuille. J'ai pu faire le code pour une valeur particulière mais ce n'est pas évident de refaire la même opération 4399 fois!!! Alors je voudrais savoir si c'est possible de généraliser le code sans avoir à répéter l'opération des milliers de fois et en passant si quelqu'un peu m'aider!!!!. Merci d'avance!!!!

2 réponses

Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 625
Bonjour,
'<= si si ça le fait!


Regarde ici : http://boisgontierjacques.free.fr/
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 625
Pardon, le lien ne pointe pas sur la bonne page...

Le code extrait du site ci-dessus est :
Sub CompteItems()
  Set mondico = CreateObject("Scripting.Dictionary")
  a = Range("a2:a" & [a65000].End(xlUp).Row)   ' ADAPTER LA COLONNE
  For i = LBound(a) To UBound(a)
    mondico(a(i, 1)) = mondico(a(i, 1)) + 1
  Next i
With Sheets(2) 'ADAPTER LA FEUILLE D'AFFICHAGE DES RESULTATS
  .[c2].Resize(mondico.Count, 1) = Application.Transpose(mondico.keys)
  .[d2].Resize(mondico.Count, 1) = Application.Transpose(mondico.items)
  .[C1].Sort Key1:=[C2], Order1:=xlAscending, Header:=xlYes
End With
End Sub
Messages postés
3
Date d'inscription
vendredi 22 mai 2015
Statut
Membre
Dernière intervention
5 juin 2015
>
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021

merci bcp mais même avec le premier lien ktu m'as fourni, j'ai pu trouver un code ki a pu résoudre le pbm ms avec klk modification!!!!! Mais quoiqu'il en soit, je vaisquand même tester le code ke tu m'as donné!
Messages postés
6
Date d'inscription
jeudi 21 mai 2015
Statut
Membre
Dernière intervention
18 juin 2015

je suis moi aussi profane, mais essaye des boucles:
k = 0
for i = 1 to 17000
for j = 1 to 17000
while cell (i,1) = cell (j,1)
k = k+1
wend
next
next
Bon l'incovenient c'est pas tout à fait exact mais tu peux essayer de faire dans le genre...
Cdlt