Collage dans un ensemble de données filtrées - Conseils Excel

Joe demande s'il existe un moyen d'effectuer une opération de collage filtrée dans Excel.

Supposons que vous ayez 1000 enregistrements sur Sheet1. Vous filtrez cet ensemble de données pour afficher uniquement les enregistrements avec ProdID = Z. Sélectionnez l'ensemble de données et collez-le dans Sheet2. Eh bien, Excel n'apporte que les enregistrements visibles, vous avez donc un bloc contigu de cellules. Peut-être que vous effectuez des transformations sur ces enregistrements et que vous devez maintenant les recoller dans l'ensemble de données d'origine. Excel n'offre PAS de moyen simple de le faire. La macro de cette vidéo vous aidera dans le processus. J'ai enregistré l'épisode 977 du podcast Learn Excel montrant une macro pour vous aider dans cette action. Vous trouverez ici la vidéo et le code utilisés dans le classeur Excel.

Regarder la vidéo

Copiez ce code

J'ai ajusté un peu le code de la vidéo. Cela suppose que vous copiez la ligne d'en-tête et les enregistrements filtrés de Sheet1 à Sheet2:

Sub PasteBack() ' Assumes the Filterered Sheet1 is active Set DataToCopy = Sheet2.Range("A1").CurrentRegion n = 2 ' index for range to copy from Sheet2 one row at a time, skipping headers For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row ' row 1 is header If Not Rows(i).Hidden Then DataToCopy.Offset(n - 1).Resize(1).Copy Cells(i, 1) n = n + 1 If n> DataToCopy.Rows.Count Then Exit Sub End If Next i End Sub

Une solution sans macros

Après la diffusion de la première vidéo, Gary a envoyé une nouvelle solution utilisant Paste Skip Blanks. Regardez cette vidéo ici:.

Articles intéressants...