Bonjour a tous,
Veuillez m'excuser pour les accents je travaille sur QWERTY.
Alors voila, apres avoir beaucoup appris sur ce forum (merci a vous tous), je reviens vers vous avec une question:
Exist-il une macro rapide pour copier/coller, d'une feuille a une autre, en fonction du resultat d'une cellule (toutes contenues dans la meme colonne)?
Je vous ai mis un fichier exemple raccourci et reduit a mort (le vrai fichier va jusqu'a la ligne 17500). Celui-ci n'est pas tres lent etant donne qu'il est allege ^^.
Voici la macro que j'utilise actuellement, mais celle-ci prend trop de temps a s'executer:
Comme vous pouvez le constater, je n'extrais que certaines cellules de certaines colonnes pour les copier sur un autre tableau dans une nouvelle page.
Cela peut prendre jusqu'a 2 ou 3 minutes, car il faut traiter pas loin de 750 000 000 cellules.
si quelau'un grace a mon petit exemple aurait une solution, je serais ravis d'apprendre
En vous remerciant par avance,
Cordialement,
Delux
Veuillez m'excuser pour les accents je travaille sur QWERTY.
Alors voila, apres avoir beaucoup appris sur ce forum (merci a vous tous), je reviens vers vous avec une question:
Exist-il une macro rapide pour copier/coller, d'une feuille a une autre, en fonction du resultat d'une cellule (toutes contenues dans la meme colonne)?
Je vous ai mis un fichier exemple raccourci et reduit a mort (le vrai fichier va jusqu'a la ligne 17500). Celui-ci n'est pas tres lent etant donne qu'il est allege ^^.
Voici la macro que j'utilise actuellement, mais celle-ci prend trop de temps a s'executer:
Code:
Sub Import()
Dim mySource As Range
Dim myCible As Range
Dim Cel As Range
Dim Lg As Integer
Set mySource = Sheet2.Range("BK8:BK65489")
Set myCible = Sheet1.Range("B13:U65489")
Application.ScreenUpdating = False
myCible.ClearContents
Lg = 13
For Each Cel In mySource
If Cel.Value > 14 And Cel.Value <> "" Then
Sheet1.Range("B" & Lg).Value = Sheet2.Range("AS" & Cel.Row).Value 'Doc Number
Sheet1.Range("C" & Lg).Value = Sheet2.Range("AT" & Cel.Row).Value 'Revision
Sheet1.Range("D" & Lg).Value = Sheet2.Range("BI" & Cel.Row).Value 'Dated
Sheet1.Range("E" & Lg).Value = Sheet2.Range("AV" & Cel.Row).Value 'Title
Sheet1.Range("L" & Lg).Value = Sheet2.Range("AW" & Cel.Row).Value 'Client Ref
Sheet1.Range("M" & Lg).Value = Sheet2.Range("AX" & Cel.Row).Value 'Planned Date
Sheet1.Range("N" & Lg).Value = Sheet2.Range("AY" & Cel.Row).Value 'Planned Rev
Sheet1.Range("O" & Lg).Value = Sheet2.Range("AZ" & Cel.Row).Value 'Sent Date
Sheet1.Range("P" & Lg).Value = Sheet2.Range("BA" & Cel.Row).Value 'Status
Sheet1.Range("Q" & Lg).Value = Sheet2.Range("BB" & Cel.Row).Value '3rd Party Status
Sheet1.Range("R" & Lg).Value = Sheet2.Range("BC" & Cel.Row).Value 'Comments date
Sheet1.Range("S" & Lg).Value = Sheet2.Range("BD" & Cel.Row).Value 'Comments date received
Sheet1.Range("T" & Lg).Value = Sheet2.Range("BE" & Cel.Row).Value 'CRS Sent date
Sheet1.Range("U" & Lg).Value = Sheet2.Range("BF" & Cel.Row).Value 'CRS Closed Date
Lg = Lg + 1
End If
Next Cel
End Sub
Comme vous pouvez le constater, je n'extrais que certaines cellules de certaines colonnes pour les copier sur un autre tableau dans une nouvelle page.
Cela peut prendre jusqu'a 2 ou 3 minutes, car il faut traiter pas loin de 750 000 000 cellules.
si quelau'un grace a mon petit exemple aurait une solution, je serais ravis d'apprendre
En vous remerciant par avance,
Cordialement,
Delux