Copier-coller lignes selon condition

Bonjour,

Voici ce que j'aimerais coder.

Sur mon onglet "facture", j'ai le numéro d'une commande (ex 123) en cellule B11.

Cette valeur se trouve dans mon onglet "data" dans la colonne I.

Voici ce que je voudrais coder:

Si on trouve la valeur dans la colonne I, alors copier les lignes correspondantes de la colonne Z de mon onglet "data" et les coller dans mon onglet "facture" colonne A, à partir de la ligne 24. (Il peut y avoir 1, 2, 3.... lignes à copier).

J'espère que tout est clair.

Merci.

Bonjour,

Un test à adapter à votre classeur :

Sub FILTRE()
Dim FACTURE$
FACTURE = Worksheets("facture").[B11]
Worksheets("facture").[A24].Resize(Worksheets("facture").Rows(25).End(xlDown).Row - 23).EntireRow.ClearContents
With Worksheets("data")
    .UsedRange.AutoFilter 12, FACTURE
    .AutoFilter.Range.Offset(1).SpecialCells(xlCellTypeVisible).Copy
    Worksheets("facture").[A24].PasteSpecial
    .ShowAllData
End With
End Sub

Avec le fichier joint.

Cdlt,

4classeur11.xlsm (18.28 Ko)

Bonjour,

Le code fonctionne. Cependant, il me copie la ligne entière, alors que je voudrais simplement copier certaines colonnes de la ligne.

Par exemple, la colonne A de data doit être copié en colonne B de facture.

Merci

Bonjour,

Ci-contre le code corrigé suite à vos commentaires :

Sub FILTRE()
Dim FACTURE$, LR%
FACTURE = Worksheets("facture").[B11]
Worksheets("facture").[A24].Resize(Worksheets("facture").Rows(25).End(xlDown).Row - 23).EntireRow.ClearContents
With Worksheets("data")
LR = .Cells(.Rows.Count, 1).End(xlUp).Row
    .UsedRange.AutoFilter 9, FACTURE
    .Range("A2:A" & LR).SpecialCells(xlCellTypeVisible).Copy
    Worksheets("facture").[B24].PasteSpecial
    .ShowAllData
End With
End Sub

Cdlt,

Merci beaucoup, cela fonctionne!!!

Rechercher des sujets similaires à "copier coller lignes condition"