Pour copier une ligne (si condition) sur autre feuille

  • Initiateur de la discussion Initiateur de la discussion Alain262
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Alain262

XLDnaute Nouveau
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
 
Dernière édition:
Re : Pour copier une ligne (si condition) sur autre feuille

Bonjour Laurent, et tout le forum

Désolé, c'est une erreur. Ecrivant ce message du boulot, j'ai mélangé les noms entre mes feuilles de travail.
Je fais des essais divers et ne parviens toujours pas à trouver la solution souhaitée...

J'ai corrigé sur le message initial.
Cordialement,
Alain
 
Re : Pour copier une ligne (si condition) sur autre feuille

Bonjour Alain, Laurent, le forum,
sans fichier c'est difficile...
Pour copier à la 1ère cellule vide (ou dernière cellule remplie +1) regarde du coté de range("a1").end(xldown).offset(1,0)...
Pour supprimer une ligne rows(x).delete.
Bien sûr, il faut le faire après avoir coller les valeurs...
Bon courage
 
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
 

Pièces jointes

Re : Pour copier une ligne (si condition) sur autre feuille

Tibo,

Je viens de découvrir votre réponse et le fichier complété.
C'est exactement ce que je cherchais.
Avec mes très sincères remerciements pour cette aide aussi prompte qu'efficace.
Alain
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
703
Réponses
10
Affichages
531
Réponses
9
Affichages
730
Réponses
4
Affichages
580
Retour