Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Macro archivage

stella69670

XLDnaute Nouveau
Bonjour,

J'ai pu mettre en place le fichier suivant avec le bouton 4 qui me coupe/colle la ligne (si I = ok) dans l'onglet archives.
Toutefois, il me colle les lignes au mauvais endroit
Je ne parviens pas à trouver où se trouve mon erreur ?

VB:
Sub Bouton4_Cliquer()

A = Worksheets("Feuil1").Cells(Rows.Count, 2).End(xlUp).Row

For i = A To 2 Step -1

  If Worksheets("Feuil1").Cells(i, 9).Value = "ok" Then

    Worksheets("Feuil1").Rows(i).Copy Worksheets("Archives").Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)

    Worksheets("Feuil1").Rows(i).EntireRow.Delete

  End If

Next

End Sub


Merci

 

Pièces jointes

  • Récapitulatif (1).xlsm
    35.5 KB · Affichages: 19
Solution
Bonjour Stella
A tester:
VB:
Sub Bouton4_Cliquer()
A = Worksheets("Feuil1").Cells(Rows.Count, 2).End(xlUp).Row
For i = A To 2 Step -1
  If Worksheets("Feuil1").Cells(i, 9).Value = "ok" Then
    Worksheets("Feuil1").Rows(i).Copy Worksheets("Archives").Cells(Worksheets("Archives").Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
    Worksheets("Feuil1").Rows(i).EntireRow.Delete
  End If
Next
End Sub

pierrejean

XLDnaute Barbatruc
Bonjour Stella
A tester:
VB:
Sub Bouton4_Cliquer()
A = Worksheets("Feuil1").Cells(Rows.Count, 2).End(xlUp).Row
For i = A To 2 Step -1
  If Worksheets("Feuil1").Cells(i, 9).Value = "ok" Then
    Worksheets("Feuil1").Rows(i).Copy Worksheets("Archives").Cells(Worksheets("Archives").Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
    Worksheets("Feuil1").Rows(i).EntireRow.Delete
  End If
Next
End Sub
 

stella69670

XLDnaute Nouveau

Bonjour PierreJean
Cela marche, pourriez-vous m'expliquer que je comprenne svp ? Je ne comprends pas.
Merci beaucoup
 

pierrejean

XLDnaute Barbatruc
Re
Le numero de ligne pour la recopie doit etre calculé dans la feuille Archives
voir l'ajout (en rouge)
Worksheets("Feuil1").Rows(i).Copy Worksheets("Archives").Cells(Worksheets("Archives").Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…