Code VBA pour copier la sélection des colonnes à partir des lignes qui répondent à une condition d'une autre feuille

Je viens juste de commencer avec du code VBA pour Excel alors, toutes mes excuses si cela apparaît de base. Je veux faire la suite...

Case de la Colonne J (J5 à J500) d'une feuille appelée "Index" pour la présence de la valeur "Y". C'est ma condition.
Ensuite, je veux seulement copier les Colonnes C à je ne de toute ligne qui répond à la condition d'une Feuille et de Cellules dans une position différente, c'est à dire Si les valeurs d'Indice de C3 à I3 sont copiés je voudrais coller à A5 à G5 de la feuille active, je suis, disons Feuil2.

Si il y a un changement à la feuille d'index, je voudrais que les données copiées automatiquement, Si possible. Comment cela pourrait-il fonctionner si de nouvelles données sont ajoutées à l'Index?

Après beaucoup de recherche j'ai découvert ici cette. À partir de cette question, j'ai changé le code légèrement en fonction de mes besoins et cela va copier l'ensemble des lignes qui répondent à la condition d'une feuille à l'exécution de la macro, mais je suis perplexe pour savoir comment sélectionner certaines colonnes seulement.

Sub CopyRowsAcross() 

Dim i As Integer 
Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.Sheets("Index") 
Dim ws2 As Worksheet: Set ws2 = ActiveSheet 

For i = 2 To ws1.Range("B65536").End(xlUp).Row 
If ws1.Cells(i, 2) = "Y" Then ws1.Rows(i).Copy ws2.Rows(ws2.Cells(ws2.Rows.Count, 2).End(xlUp).Row + 1) 
Next i 

End Sub 

Toute Aide est appréciée

Jean

EDIT: j'ai créé un mock-up, et est situé à https://docs.google.com/file/d/0B0RttRif9NI0TGl0N1BZQWZfaFk/edit?usp=sharing

A et B les Colonnes ne sont pas nécessaires lorsque copié - est de la Colonne J - c'est ce que j'utilise pour vérifier la condition.

Merci à tous pour votre aide pour l'instant.

  • Si vous voulez être en mesure de l'exécuter plus d'une fois sans d'abord essuyer tout le contenu de la table de destination, puis vous aurez besoin d'avoir au moins un unique valeur qui peut être utilisé pour identifier chaque ligne, sinon il va être impossible de faire correspondre les lignes entre les deux feuilles.
  • Merci pour votre réponse Tim. Penser à Ce sujet, il pourrait être préférable de nettoyer les données et de les recopier à partir de la Feuille d'Index lorsque je veux mettre à jour, par exemple, le contenu de l'index a été modifiée ou une nouvelle ligne a été ajoutée. Je pense que cela signifie que je dois mettre à jour manuellement en exécutant à nouveau la macro. Je serais ok avec ça. Aurais-je thne encore besoin unique de références, Si je devais prendre cette approche?
InformationsquelleAutor JohnM | 2013-03-13