Bonjour le forum,
J'avais déjà demandé de l'aide pour importer un grand nombre de données le plus rapidement possible. Le poste avez eu un énorme succès. J'espère qu'il en sera de même aujourd'hui.
Je veux réaliser un truc tout simple. Pour chaque cellule de ma colonne "A", je veux compter le nombre de fois que la valeur apparait dans la colonne.
Je suis parti sur un code avec deux boucles. Je compare A1 avec A2:Ax et j'incrémente B1, en suite je passe en A2 pour faire la même chose, A3 etc...
Malheureusement ces deux boucles sont trop longues à s'exécuter (76000 secondes sur mon processeur i7 ).
Voici le détail :
Avez vous une solution plus rapide pour le même résultat ?
Je vous joins le petit fichier.
Merci
A+
J'avais déjà demandé de l'aide pour importer un grand nombre de données le plus rapidement possible. Le poste avez eu un énorme succès. J'espère qu'il en sera de même aujourd'hui.
Je veux réaliser un truc tout simple. Pour chaque cellule de ma colonne "A", je veux compter le nombre de fois que la valeur apparait dans la colonne.
Je suis parti sur un code avec deux boucles. Je compare A1 avec A2:Ax et j'incrémente B1, en suite je passe en A2 pour faire la même chose, A3 etc...
Malheureusement ces deux boucles sont trop longues à s'exécuter (76000 secondes sur mon processeur i7 ).
Voici le détail :
VB:
Sub compter()
Application.ScreenUpdating = False
Sheets("Feuil1").Columns("B:B").ClearContents
x = Timer
'Compter les cellules identiques
ligne = Sheets("Feuil1").Range("A1000000").End(xlUp).Row
NbCodes = 0
For i = 1 To ligne
doc = Sheets("Feuil1").Cells(i, 1).Value
For j = 2 To ligne
If Sheets("Feuil1").Cells(j, 1).Value = doc Then NbCodes = NbCodes + 1
Next j
Sheets("Feuil1").Cells(i, 2).Value = NbCodes
NbCodes = 0
Next i
Application.ScreenUpdating = True
MsgBox x
End Sub
Avez vous une solution plus rapide pour le même résultat ?
Je vous joins le petit fichier.
Merci
A+
Dernière édition: