Copie_coller rapide avec filtrage en vbe

Bonjour tt le monde

Avant d’entamer le traitement d’un gros fichier dans le cadre professionnel, j’ai testé sur un exemple ci-joint avec un petit nombre d’enregistrement en ligne comme en colonnes, et un filtre simplifié,

Il s’agit dans ce fichier simplifié (de teste), de copier les enregistrements dont la colonne 3 est « OUI » Sur une autre feuille

La 1ere démarche j’ai utilisé une sub « CopyOui » pour copier dans la feuille « yes » mais elle s’avère horrible (durée d’exécution allant parfois jusqu’à 80 s avec ce petit nombre de ligne !)

J’ai utilisé alors sub « CopyOuiTab » où j’ai utilisé le tableau tabl() pour recueillir les enregistrements répondants aux critères, et c nettement mieux, et j’ai remarqué que le remplissage de tabl() se fait rapidement , mais je ne suis pas satisfait pour la boucle de remplissage des cellules avec les valeurs de ce tabl()

Application.ScreenUpdating = False n’améliore pas grand chose.

J’aimerai savoir s’il y a une autre méthode de collage en bloc et d’un seul coup .

Je ne veux pas perdre de temps dans mes gros fichiers professionnels avant de determiner une meilleure strategie.

Merci d’avance.

Bonjour Kamel_G0411, avec un filtre classique (je n'ai pas le menu pour mettre le code entre ???) Sub Copy_Oui_Bis() t = Timer Sheets("F3").Range("a1:c1").EntireColumn.ClearContents 'RAZ cette plage With Sheets("F1").Range("A1").CurrentRegion 'vos données .AutoFilter 'Reset du filtre .AutoFilter 3, "oui" 'filtrer les "oui" .Resize(, 3).Copy Sheets("F3").Range("A1") 'copier 3 colonnes vers F3 .AutoFilter 'reset du filtre End With MsgBox Format(Timer - t, "0.00\s") End Sub

Sub Copy_Oui_Bis()
     t = Timer
     Sheets("F3").Range("a1:c1").EntireColumn.ClearContents     'RAZ cette plage
     With Sheets("F1").Range("A1").CurrentRegion     'vos données
          .AutoFilter                        'Reset du filtre
          .AutoFilter 3, "oui"               'filtrer les "oui"
          .Resize(, 3).Copy Sheets("F3").Range("A1")     'copier 3 colonnes vers F3
          .AutoFilter                        'reset du filtre
     End With
     MsgBox Format(Timer - t, "0.00\s")

End Sub

thank you Bart

c ce que je cherchais,

c incomparable ! en terme de vitesse et de simplicité.

Rechercher des sujets similaires à "copie coller rapide filtrage vbe"