Vb.net Comparaison de deux feuille Excel

Fermé
Bulzib Messages postés 9 Date d'inscription vendredi 8 juillet 2011 Statut Membre Dernière intervention 29 mars 2012 - 18 juil. 2011 à 16:12
Bonjour,

Je tente de coder un logiciel qui compare deux colonnes de deux feuilles Excel ensemble.
J'utilise actuellement le vb.net et la librairie Excel pour plus de facilité. le problème actuellement est que les deux document que je possède contienne plus de 17000 lignes...

La première version du programme semblais bien marcher avec de petite feuille (10 lignes pour les tests), mais semble interminable pour c'est deux monstres :(

J'ai tenter de charger c'est donné dans deux listes FIFO pour effectuer des modifications (enlever les ceux qui sont identiques) afin d'accélérer le processus, mais cela ne semble pas être très fructueux.

J'ai donc tenter les threads, mais le debug semble impossible (avec Visual Studio 2005 et mes connaissances).

Voici une partie du code et ou le tout prend un temps fou :

    Dim xls1 As Excel.Worksheet
    Dim xls2 As Excel.Worksheet
    Dim lst1 As New List(Of info)    'liste FIFO de xls1
    Dim lst2 As New List(Of info)    'liste FIFO de xls2


Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoad.Click

    Dim th1 As New Thread(AddressOf bgWorker1)
    Dim th2 As New Thread(AddressOf bgWorker2)

    th1.Start()
    th2.Start()

    Do Until (Not th1.IsAlive And Not th2.IsAlive)
    Loop
End Sub

'bgWorker 1 et 2 sont identique mais ne traite pas les même listes
Private Sub bgWorker1()
        'On parcours le document pour rassembler les infos
        For i As Long = 2 To xls1.Rows.Count Step 1
            Dim ext As New info

            'On extrait les infos
            ext.ID = xls1.Cells(i, 1).value
            ext.Remarque = xls1.Cells(i, 3).value

            'On ajoute les info a la liste
            lst1.Add(ext)
        Next
End Sub


Merci d'avance pour votre aide ;)
A voir également: