Optimisation du code pour traiter gros fichiers

72015-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..

72015-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.

112015-octobre12.xlsm (37.25 Ko)

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/

11cle.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"