Bonjour,
J'aimerais effectuer des test logiques sur les valeurs des cellules d'un fichier Excel, mais je me rends compte que le traitement est en réalité assez long.
Du coup j'ai fait quelques tests mais je ne vois pas comment je pourrais rendre cette exécution plus rapide.
Enfait si je fais par exemple 2500*2500 comparaisons entre deux nombres, Excel est plutôt rapide (moins d'une seconde): voir l'exemple ci-dessous.
En revanche si je fais les mêmes opérations, mais cette fois ci, je n'utilise plus des nombres directement mais les cellules de mon classeur, le traitement est beaucoup plus long ! Jusqu’à une minute...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub TestlogiqueNombre() For i = 1 To 2500 For j = 1 To 2500 If i = j Then m = m + 1 End If Next j Next i MsgBox (m) End Sub
Je précise pour le code ci-dessous, que mes colonnes A et B contiennent toutes deux des valeurs de 1 à 2500
Donc en soi les deux fonctions effectuent les mêmes opérations mais l'une va chercher les valeurs dans la feuille Excel, j'imagine donc que c'est cela qui est aussi long.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub TestlogiqueCellule() For i = 1 To 2500 For j = 1 To 2500 If Cells(i, 1).Value = Cells(j, 2).Value Then m = m + 1 End If Next j Next i MsgBox (m)
Pourriez-vous m'indiquer comment faire pour pouvoir comparer deux cellules Excel de manière plus rapide ?
Merci d'avance![]()
Partager