Bonjour,
Je viens d'écrire mes lignes de code pour réaliser un copier coler d'une feuille vers une autres. Dans la feuille, dans laquel j'extrai mes donnée, j'ai des milliers de lignes et le temps que le copie-collé se réalise par le VBA est considérable.
Est ce qu'il y a des moyens de l'optimiser?
Cordialement
Je viens d'écrire mes lignes de code pour réaliser un copier coler d'une feuille vers une autres. Dans la feuille, dans laquel j'extrai mes donnée, j'ai des milliers de lignes et le temps que le copie-collé se réalise par le VBA est considérable.
HTML:
Sub Copy_PasteOpenposition()
'ActiveSheet.Unprotect
Dim mySource As Range, myselection As Range, myCible As Range, Cell As Range
Dim lg As Integer
Dim onglet As String
Set mySource = Sheets("copie").Range("A7:N1000000")
Set myselection = Sheets("copie").Range("C7:C100000")
lg = 1
For Each Cell In myselection
If IsEmpty(Cell) Then
Else
onglet = Cell.Value
ligne = Sheets(onglet).Cells(100000, 2).End(xlUp).Row + 1
Sheets(onglet).Cells(ligne, 1) = mySource.Cells(lg, 19)
Sheets(onglet).Cells(ligne, 2) = mySource.Cells(lg, 20)
Sheets(onglet).Cells(ligne, 3) = mySource.Cells(lg, 21)
Sheets(onglet).Cells(ligne, 4) = mySource.Cells(lg, 22)
Sheets(onglet).Cells(ligne, 5) = mySource.Cells(lg, 23)
Sheets(onglet).Cells(ligne, 6) = mySource.Cells(lg, 24)
Sheets(onglet).Cells(ligne, 7) = mySource.Cells(lg, 25)
Sheets(onglet).Cells(ligne, 8) = mySource.Cells(lg, 26)
Sheets(onglet).Cells(ligne, 9) = mySource.Cells(lg, 27)
Sheets(onglet).Cells(ligne, 10) = mySource.Cells(lg, 28)
Sheets(onglet).Cells(ligne, 11) = mySource.Cells(lg, 29)
Sheets(onglet).Cells(ligne, 12) = mySource.Cells(lg, 30)
Sheets(onglet).Cells(ligne, 13) = mySource.Cells(lg, 31)
Sheets(onglet).Cells(ligne, 14) = mySource.Cells(lg, 32)
lg = lg + 1
End If
Next
End Sub
Est ce qu'il y a des moyens de l'optimiser?
Cordialement