Re : Pour copier une ligne (si condition) sur autre feuille
Bonjour à tous,
Je reviens avec le fichier joint pour plus de clarté...
Comme conseillé, j'ai ajouté une ligne rows.delete. Le résultat est mitigé; tout ne s'efface pas.
Mais surtout, je me demande comment faire en sorte que les futures lignes de la feuille 1 s'ajoutent à la suite des précédentes en feuille 2 (et non à leur place...)
Voici la macro actuelle :
Sub archivage()
Dim wA As Worksheet, wN As Worksheet, i As Long, r As Long, c As Long, t As Long
Set wA = Worksheets("Demandes"): Set wN = Worksheets("Archives")
r = wN.Cells(Rows.Count, 2).End(xlUp).Row
'Début d'une boucle variant des lignes 3 à 100
For i = 3 To 100
'condition : si la cellule J ligne i de la feuille wA vaut 1 (si date réalisation et responsable mentionnés)
If wA.Cells(i, 10) = 1 Then
r = r + 1 'r augmente de 1 (=1ère ligne vide de wN)
'copier la plage (dans wA) allant de A ligne i jusqu'à R ligne i et la coller en feuille wN en A ligne r
wA.Range(wA.Cells(i, 1), wA.Cells(i, 8)).Copy Destination:=wN.Cells(r, 1)
Cells(i, 1).EntireRow.Delete 'efface ligne si travaux faits
End If
Next i
End Sub
Merci pour l'aide,
Cordialement