1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
Sub CopierSupprimer()
Dim LaPlage As Range
Dim I As Long
'défini la plage de recherche sur toute la feuille
'pour connaître le nombre de lignes à boucler
'à adapter car à ce stade pas plus de précisions
Set LaPlage = Plage(Worksheets("Feuil1"))
'boucle sur les lignes de la feuille "Feuil1" (à adapter)
'en partant du bas (pour pouvoir supprimer) et colle dans
'la feuille "Feuil2" (à adapter) la ligne entière à la suite
'des autres puis supprime la ligne
For I = LaPlage.Rows.Count To 1 Step -1
If Range("H" & I) = "Réussi" _
And Range("J" & I) = "Réussi" _
And Range("L" & I) = "Réussi" Then
Rows(I).EntireRow.Copy _
Worksheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
LaPlage.Rows(I).EntireRow.Delete
End If
Next I
End Sub
Function Plage(Fe As Worksheet) As Range
With Fe
Set Plage = .Range(.Cells(1, 1), _
.Cells( _
.Cells.Find("*", .[A1], -4123, , _
1, 2).Row, _
.Cells.Find("*", .[A1], -4123, , _
2, 2).Column))
End With
End Function |
Partager