Re : Extraire des données d'un tableau selon un critère
Sub copieAcoté() ' largement inspiré d'un code que l'on m'a fourni sur ce forum (dsl, je ne sais plus qui)
Dim Nblig, TblDépart, i, J, F ' déclaration des variables
Dim TblFiltré() As Variant
'
Set WS1 = Sheets("Feuil1") ' attribution du nom de la feuille à un objet
Nblig = WS1.Range("B65000").End(xlUp).Row ' Nb de lignes (variables) dans tableau de départ
Nbcol = 7 ' dernière colonne à droite (tableau de départ à gauche)
TblDépart = WS1.Range(Cells(7, 2), Cells(Nblig, 8)) ' on place le tout dans tableau départ
For i = LBound(TblDépart) To UBound(TblDépart) ' boucle de 1 à n ligne
If TblDépart(i, 1) = Range("J2").Value Then ' si la valeur est égale à la semaine demandée
F = F + 1
ReDim Preserve TblFiltré(1 To Nbcol, 1 To F) ' redimmensionner la zone
For J = 1 To UBound(TblDépart, 2) ' de 1 à dernière ligne du tableau mémorisé
TblFiltré(J, F) = TblDépart(i, J) ' passage du premier tableau (le complet) vers un second
Next J
End If
Next i
Range("J7
" & [J65000].End(xlUp).Row).ClearContents ' effacer la zone de destination
[J7].Resize(UBound(TblFiltré, 2), UBound(TblFiltré, 1)) = Application.Transpose(TblFiltré) ' placer le résultat en J7
End Sub