Optimisation du code pour traiter gros fichiers

62015-octobre12.xlsm (195.88 Ko)

Bonjour

J'ai une feuille DEST à remplir avec les lignes de la feuille SRC (100.000 lignes) si le flag contenu dans la feuille CLE (4.000 lignes) en colonne 33 est a null.

La recopie se fait tant que la clé "cleSRC" contenue dans la colonne 68 de lafeuille SRC (de 3 à 30 lignes à recopier par clé) que celle de la feuille CLE (1 clé unique "cleCLE")

Faire une double boucle sur deux tableaux de 100.000 et de 4.000 lignes... patience..

62015-octobre12.xlsm (195.88 Ko)

Y a t il une autre solution ?

Merci d'avance,

Cdt

aude

Private Sub recopie()

Dim nRowSRC, nRowCLE, i, j As Long

Dim cleCLE, cleSRC, toto As String

Dim randomization As Boolean

randomization = False

nRowSRC = nRowCLE = i = j = 0

cleCLE = cleSRC = ""

nRowSRC = Sheets("SRC").Cells(Rows.Count, "B").End(xlUp).Row

nRowCLE = Sheets("CLE").Cells(Rows.Count, "B").End(xlUp).Row

For j = 1 To nRowCLE

For i = 1 To nRowSRC

cleCLE = Sheets("CLE").Cells(j + 1, 33)

cleSRC = CStr(Trim(Sheets("SRC").Cells(i + 1, 2).Value) & "-" & Trim(Sheets("SRC").Cells(i + 1, 3).Value))

If Sheets("CLE").Cells(j + 1, 32).Value = "" Then

If cleCLE = cleSRC Then

Sheets("DEST").Entire.Rows(i + 1).Value = Sheets("SRC").Entire.Rows(i + 1).Value

'i = i + 1

End If

Else

If Sheets("CLE").Cells(i + 1, 31) = "" Then

Sheets("DEST").Rows(i + 1).Value = Sheets("SRC").Rows(i + 1).Value

ElseIf Sheets("CLE").Cells(i + 1, 31) <> Empty Then

randomization = True

End If

End If

Next i

Next j

End Sub

Bonjour,

tu auras + de chance d'avoir un réponse si tu déposes un petit fichier exemple

P.

Bonjour Patrick,

tu as raison,

voici le fichier.

Merci,

Aude

Loupé

il est tjs trop lourd surement.

de 32 mo -> 9 Mo -> 3 Mo

ça ne passe toujours pas

Arf le site accepte jusqu'a 300Ko, forcement ca passe pas.

cjoint.com peut etre?

Alors mets le sur dropbox ou onedrive ou cjoint.com...

http://www.cjoint.com/

8cle.csv (11.00 Ko)

Il n'y a qu'un fichier..

Je ne vois pas le rapport entre ta demande et tes 2 exemples qui devraient être plus parlants...

Rechercher des sujets similaires à "optimisation code traiter gros fichiers"