Coller une ligne de la feuil1 à la feuil2 et sup la ligne ds la feuil1

Bonjour à tous,

Je vous explique mon problème étant débutant en VBA.

Pour mon boulot j'ai créer un fichier de suivi de commande clients, tout fonctionne très bien, nouveau client, recherche, modification.

Mais je bute au moment d'archiver une commande pris par le client. Je m'explique, je souhaiterais que quand le client à pris sa commande et que j'ai remplis la case "pris le", en cliquant sur le bouton archiver celle-ci parte en feuille 2 et soit supprimer de la feuille 1.

Je remercie par avance tous ceux qui pourront me venir en aide.

Salut bruno15250 et

Merci m3ellem1 pour la rapidité de ta réponse, je joins le fichier

11classeur6testcc.xlsm (206.90 Ko)

Salut bruno,

essaie comme ca (code à insérer dans le modue de la feuille "Feuil1") sans utiliser le bouton archiver.

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    Application.EnableEvents = False
    If Target.Column = 12 And Target.Value <> "" Then
        LrowCompleted = Sheets("Feuil2").Cells(Rows.Count, "A").End(xlUp).Row
        Range("A" & Target.Row & ":N" & Target.Row).Copy Sheets("Feuil2").Range("A" & LrowCompleted + 1)
        Range("A" & Target.Row & ":N" & Target.Row).Delete xlShiftUp
    End If
    Application.EnableEvents = True
End Sub

Bonne nuit

Merci pour ta réponse m3ellem1, cependant je souhaiterai pouvoir passer par le bouton ARCHIVER, pour la bonne et simple raison que j'ai besoin de faire certaines vérifications avant d'archiver la commande. Si tu as une idée je suis preneur, merci d'avance.

Bonjour bruno,

pas de soucis

à tester

Sub CollerSuprimerLigne()
Dim sht As Worksheet
Dim DerLign As Long
Set sht = ActiveSheet
DerLign = sht.Cells(sht.Rows.Count, "L").End(xlUp).Row
    On Error Resume Next
    Application.EnableEvents = False

For i = 2 To DerLign
    If Range("L" & i).Value <> "" Then
        LrowCompleted = Sheets("Feuil2").Cells(Rows.Count, "A").End(xlUp).Row
        Range("A" & i & ":N" & i).Copy Sheets("Feuil2").Range("A" & LrowCompleted + 1)
        Range("A" & i & ":N" & i).Delete xlShiftUp
    i = i - 1
    End If
Next i
    Application.EnableEvents = True
End Sub

Bonne fin d'année

Merci de ton aide c'est presque bon sauf qu'il me prend toutes les lignes de la feuil1 pour me les coller sur la feuil2 alors que je ne veut que la ligne selectionné dans Userform1 soit copié en feuil2 et supprimer en feuil1.

Userform1 Pffff

Je regarderais apres

Merci

Salut Bruno,

à tester

Private Sub CommandButton2_Click()
Dim archiv As Integer
If Not reference.Value = "" Then
    Sheets("Feuil1").Select
    archiv = reference.ListIndex + 3

    If TextBox10.Value <> "" Then
        Cells(archiv, 12) = TextBox10.Value
        LrowCompleted = Sheets("Feuil2").Cells(Rows.Count, "A").End(xlUp).Row
        Range("A" & archiv & ":N" & archiv).Copy Sheets("Feuil2").Range("A" & LrowCompleted + 1)
        Range("A" & archiv & ":N" & archiv).Delete xlShiftUp
    End If
    Unload Me
End If
UserForm1.Show
End Sub

Bonjour m3ellem1,

Tout d'abord tous mes voeux pour cette nouvelle année ainsi qu'à tout le Forum.

Ensuite un grand MERCI cela fonctionne très bien, tu m'enlève une bonne épine du pied. j'ai juste un petit problème de renumérotation des lignes sur la feuil1 après suppression de celle-ci, mais j'espère bien trouver la solution, sinon je reviendrais sur le forum demander de l'aide.

Oui c'est ca les valeurs uniques ne doivent jamais être basées sur des formules!

Rechercher des sujets similaires à "coller ligne feuil1 feuil2 sup"