Code pour couper puis coller dans un autre feuille

Bonjour à tous

Je débute depuis peu en VBA et je voudrais copier des lignes à un tel date dans une autre cellule.

J'ai fait quelque recherche et j'ai trouvé ce code mais ça ne marche pas.

Un message d'erreur apparaît quand j’exécute le code:

"Instruction incorrecte à l'extérieur d'un bloc de type"

ci dessous le code que j'ai fait:

sub coupercoller()

Dim i As Long

LastRow As Long

mydate As Date

erow As Long

LastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

For i = LastRow To 2 Step -1

mydate = Cells(i, "B")

If mydate > DateValue("December 31, 2014") Then

Cells(i, "B").EntireRow.Cut

erow = Feuil2Cells(Row.Count, 1).End(xlUp).Offset(1, 0).Row

Activesheets.Paste Destination = Worksheets("Feuil2").Rows(erow)

End If

Next

End Sub

Je vous remercie par avance de votre aide.

9date.xlsx (8.90 Ko)

bonjour,

proposition de correction

manquent dim, un point entre feuil2 et cells un s à row.count pas de s à activesheets

j'ai également ajouté un rows.delete pur supprimer la ligne coupée

Sub coupercoller()
    Dim i As Long
    Dim LastRow As Long
    Dim mydate As Date
    Dim erow As Long
    LastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    For i = LastRow To 2 Step -1
        mydate = Cells(i, "B")
        If mydate > DateValue("December 31, 2014") Then
            Cells(i, "B").EntireRow.Cut
            erow = Feuil2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
            ActiveSheet.Paste Worksheets("Feuil2").Rows(erow)
            Rows(i).Delete shift:=xlUp
        End If
    Next
End Sub

Bonjour h2so4

Merci pour ta réponse!

Une nouvelle message d'erreur s'affiche: "erreur d'exécution '13', incompatibilité de type'

J'ai déjà regarder dans l'aide mais cela ne pas aider, je ne vois pas où est l'erreur.

Bonjour,

Le problème vient du format de date (ici, en Français pour le test) :

Sub coupercoller()

    Dim i As Long
    Dim LastRow As Long
    Dim mydate As Date
    Dim erow As Long

    LastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

    For i = LastRow To 2 Step -1

        mydate = CDate(Cells(i, "B").Value)

        'ici, la date en Français
        If mydate > DateValue("31 Décembre 2014") Then 'attention aux accents !

            Cells(i, "B").EntireRow.Cut
            erow = Feuil2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
            ActiveSheet.Paste Destination:=Worksheets("Feuil2").Rows(erow)

        End If

    Next i

End Sub

Super, ça marche. Merci!

Je ne connaissais pas "CDate".

Et qu'est ce qu'on met s'il s'agissait de temps en format hh.mn.ss

Encore merci!

Rechercher des sujets similaires à "code couper puis coller feuille"