VBA_ copier coller une ligne en fonction de la valeur d'une cellule

Bonjour,

Je vous contacte car j'ai une macro que j'ai adapté à mon fichier mais qui ne fonctionne pas entièrement. Il s'agit de copier coller les lignes de la feuille "Export Base Client" dans l'onglet "TDB" en fonction de la date indiquée dans l'onglet "TDB" en "B9".

La macro fonctionne mais ne copie qu'une seule ligne et je n'arrive pas à comprendre ce que je dois modifier.

Je vous met la macro ci dessous et le fichier en PJ . Si jamais vous voyez mon erreur je suis preneuse !

Option Explicit
Sub extract()
Dim i As Long
Dim derlig As Long
Application.ScreenUpdating = False

'effacer les données de la feuille TDB

With Worksheets("TDB").Range("A12:I500000").ClearContents
End With

'copier

Dim k As Integer
k = 12
With Sheets("Export Base Client")
derlig = .Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To derlig
If ActiveCell.Value Like Sheets("TDB").Range("$B$9") Then  

  .Cells(i, 1).EntireRow.Copy
  Sheets("TDB").Activate
    Sheets("TDB").Range("A" & k).Select
    ActiveSheet.Paste
    k = k + 1
    End If
Next i
End With
Sheets("TDB").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True

End Sub

Merci de m'avoir lu et pour votre aide !

Bonne journée !

A.

8consignes.xlsm (21.98 Ko)

Bonjour

Une solution avec des filtres bien plus rapides

8consignes-fdr.xlsm (24.25 Ko)

A tester

un conseil raccourcis tes noms d'onglets ou renomme les dans propriétés

Cordialement

FINDRH

Bonjour FINDRH,

Merci beaucoup pour ton aide effectivement ça fonctionne bien mieux !

Et merci pour le conseil je vais raccourcir mes titres d'onglets :)

Bonne journée ,

A

Rechercher des sujets similaires à "vba copier coller ligne fonction valeur"