Re : copier coller sous condition
Bonjour, si je comprends ton code, tu voudrais recopier les lignes contenant "libre" en colonne E.
Je suppose, vu la méthode employée, que tu écris "libre" dans une cellule de la colonne E, puis que tu fais une recopie incrémentée vers le bas, ou que tu utilises la méthode CTRL + Entrée pour remplir tes cellules.
Un petit point dans ton code :
Target.EntireRow.Copy Destination:=Worksheets("Test").Range("B65536").En d(xlUp).Offset(1, 0)
Tu copies une ligne entière, et tu veux la coller à partir de la colonne B (ben ça sera pas possible, il manque une colonne)
Ensuite, tu fais une recherche sur Target, c'est sur Z qu'il faut faire, et non dans Target, mais dans Selection. et enfin, tu désires copier Target, c'est Z.EntireRow qu'il faut copier.
Ton code modifié :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim z As Range
On Error GoTo FinSub
For Each z In Selection
If Not Application.Intersect(Target, Range("E2:E65536")) Is Nothing Then
If z.Value = "libre" Then
z.EntireRow.Copy Destination:=Worksheets("Test").Range("A65536").End(xlUp).Offset(1, 0)
End If
End If
Next z
FinSub:
End
End Sub
Edit :
Maintenant, si tu veux bsolument copier à partir de la colonne B dans ta feuille("Test"), tu remplaces cette ligne :
z.EntireRow.Copy Destination:=Worksheets("Test").Range("A65536").End(xlUp).Offset(1, 0)
par celle-ci :
z.EntireRow.Resize(, 255).Copy Destination:=Worksheets("Test").Range("B65536").End(xlUp).Offset(1, 0)
sur une seule ligne