Jointure sur une colonne
Invité
Tout à fait Thierry!
La force est avec toi!!
T = Select_T(Tdata, 5, "Y")
Sheets("Bidule").Range("A2").Resize(UBound(T, 1), UBound(T, 2)) = TTe copiera les 2 lignes (dans ton exemple) dont la colonne 5 est égale à "Y", dans la feuille "Bidule" à partir de A2
Rien à modifier. Trop Fort!
Pierre
PS : Ceci étant dit, si ta 'Feuil2' n'est qu'une étape intermédiaire pour seulement récupérer les codes factures, on peut éviter de copier ces lignes dans une feuille :
* en plaçant ces '2' lignes dans un premier tableau,
* puis en filtrant les données avec les codes factures de ce premier tableau.
Ca donnerait ceci (pour coller les données filtrées en 'Feuil5') :
Sub Test()
Dim Tdata As Variant, T1 As Variant, T2 As Variant
Dim lg As Long, lig As Long, i As Long
With Sheets("Feuil1")
lg = .Cells(Rows.Count, 1).End(xlUp).Row
Tdata = .Range(.Cells(1, 1), .Cells(lg, "G")).Value
End With
T1 = Select_T(Tdata, 5, "Y")
With Sheets("Feuil5")
.Range("A2:G65000").ClearContents
lg = 2
lig = UBound(T1) - 1
For i = 1 To lig
T2 = Select_T(Tdata, 4, CStr(T1(i, 4)))
.Range("A" & lg).Resize(UBound(T2, 1), UBound(T2, 2)) = T2
lg = lg - 1 + UBound(T2, 1)
Next i
End With
End Subm
Un grand MERCI!!!
C'est top d'avoir pris du temps pour m'aider!
J'ai tout ce qu'il me faut pour continuer à avancer et en plus j'ai l'impression d'avoir progressé (un peu!)