HELP Optimisation du code pour gros fichiers

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ople2013

XLDnaute Nouveau
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. Si ellen'est pas nulle, alors il faut prévoir un traitement de ces lignes (à part de ce post) puis les insérer dans le fichier DEST.
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..
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 (fonction traitée à part)
End If


End If

Next i
Next j

End Sub😱
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
236
Réponses
4
Affichages
177
Réponses
2
Affichages
201
Réponses
8
Affichages
466
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
10
Affichages
281
Réponses
3
Affichages
665
Réponses
5
Affichages
232
Réponses
5
Affichages
182
Retour