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😱
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: