Erreur de copie sur plage

Bonjour,

J'essaye de me rajouter une macro pour cpier des données d'un tableau et les coller à la suite d'un autre tableau dans une autre feuille. J'obtiens le message suivant :

capture

Débutant en VBA, je ne vois pas trop pourquoi il ne veut pas de cette syntaxe... Le code concerné :

Sub Copie()
Dim Cel
Dim DernLig
Dim DernLigDone
Dim Client
Worksheets("encours").select
Cel=2
DernLig = Range("A1").End(xlDown).Row + 1
Client = Worksheets("FACTURE").Range("I6").value
While cel <= Dernlig
if Range("C" & Cel).value = Client Then
Range("C" & cel":P" & cel).copy
DernLigDone = Worksheets("done").Range("A2").End(xlDown).Row + 1
Worksheets("DONE").Range("A" & DernLigDone).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Range("C" & Cel":M"&Cel).delete
End If
cel = cel+1
Wend
End Sub

Merci d'avance pour vos lumières !

Bonjour,

Il manque une perluète ...

Range("C" & cel & ":P" & cel).copy

ric

Oh le boulet! Merci à toi!

Suite : j'obtiens une erreur pour coller. J'ai l'impression que ça vient de là :

DernLigDone = Worksheets("done").Range("A2").End(xlDown).Row + 1 :

si je fais un MsgBox DernLigDone il me donne comme résultat 1048577 soit la dernière ligne de la feuille au lieu de la premiere ligne vide... Ce problème n'apparait pas sur la variable DernLig, alors qu'il s'agit de la meme commande mais pour une autre feuille...

Bonjour,

DernLigDone = Worksheets("done").Range("A2").End(xlDown).Row + 1 :

Est-ce que la colonne "A" contient bien des données ?

Si tu fais l'inverse > remonter à partir du bas > quelle ligne donnera "DernLigDone" ?

DernLigDone = Worksheets("done").Cellls(rows.count, "A").End(xlUp).Row + 1 :

ric

Rechercher des sujets similaires à "erreur copie plage"