Bonjour à tous,
En cherchant, j'ai trouvé une grande partie de mon bonheur avec cette macro: (merci à son créateur et au forum !!!).
Mon but, copier sur une 2ème feuille ("Travaux réalisés") chaque ligne de la feuille 1 ("Liste travaux") sous réserve que la cellule de la colonne K contienne la valeur 1
Option Explicit
Sub essai()
Dim wA As Worksheet, wN As Worksheet, i As Long, r As Long, c As Long
Set wA = Worksheets("Liste travaux"): Set wN = Worksheets("Travaux réalisés")
r = wN.Cells(Rows.Count, 1).End(xlUp).Row
'Début d'une boucle variant de 2 à 100 lignes
For i = 2 To 100
'Si la cellule K ligne i de la feuille wA vaut 1 alors
If wA.Cells(i, 11) = 1 Then
r = r + 1
'copier la plage (dans wA) allant de A ligne i jusque R ligne i et la coller en feuille wN en A ligne r
wA.Range(wA.Cells(i, 1), wA.Cells(i, 9)).Copy Destination:=wN.Cells(r, 1)
End If
Next i
End Sub
Mais je souhaiterais qu'une fois cette tâche réalisée, les lignes copiées de la feuille 1 ("Liste travaux") soient effacées et aussi que les exécutions suivantes de la macro permettent d'écrire à la suite des lignes précédentes - et non à leur place - dans la feuille 2 ("Travaux réalisés")...
Mille mercis pour le dépannage
En cherchant, j'ai trouvé une grande partie de mon bonheur avec cette macro: (merci à son créateur et au forum !!!).
Mon but, copier sur une 2ème feuille ("Travaux réalisés") chaque ligne de la feuille 1 ("Liste travaux") sous réserve que la cellule de la colonne K contienne la valeur 1
Option Explicit
Sub essai()
Dim wA As Worksheet, wN As Worksheet, i As Long, r As Long, c As Long
Set wA = Worksheets("Liste travaux"): Set wN = Worksheets("Travaux réalisés")
r = wN.Cells(Rows.Count, 1).End(xlUp).Row
'Début d'une boucle variant de 2 à 100 lignes
For i = 2 To 100
'Si la cellule K ligne i de la feuille wA vaut 1 alors
If wA.Cells(i, 11) = 1 Then
r = r + 1
'copier la plage (dans wA) allant de A ligne i jusque R ligne i et la coller en feuille wN en A ligne r
wA.Range(wA.Cells(i, 1), wA.Cells(i, 9)).Copy Destination:=wN.Cells(r, 1)
End If
Next i
End Sub
Mais je souhaiterais qu'une fois cette tâche réalisée, les lignes copiées de la feuille 1 ("Liste travaux") soient effacées et aussi que les exécutions suivantes de la macro permettent d'écrire à la suite des lignes précédentes - et non à leur place - dans la feuille 2 ("Travaux réalisés")...
Mille mercis pour le dépannage
Dernière édition: