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.
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
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...
Je précise pour le code ci-dessous, que mes colonnes A et B contiennent toutes deux des valeurs de 1 à 2500
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)
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.
Pourriez-vous m'indiquer comment faire pour pouvoir comparer deux cellules Excel de manière plus rapide ?

Merci d'avance