Toujours une Erreur 1004

jjjerome

XLDnaute Occasionnel
Bonsoir la forum,
J'ai vu beaucoup de post parler de ce cas, mais je ne parviens toujours pas a régler mon problème... Pouvez vous m'aider , j'ai une 'erreur 1004' : 'la methode copy de la classe range a echouée'
Pi, J'ai enlevé les SELECT qui pose visiblement problème, mais j'ai toujours la même erreur.

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Sheets("Liens_CR").Visible = True
Sheets("Liens_CR").Activate
    Sheets("Liens_CR").Rows("15:15").Copy destination:=Sheets("Liens_CR").Rows("10:10").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
Sheets("Liens_CR").Visible = False
Sheets("Page garde").Activate

End Sub
 

Gareth

XLDnaute Impliqué
Re : Toujours une Erreur 1004

Bonsoir,

Pourquoi tant de code ?

Ceci devrait suffire

Code:
Sheets("Liens_CR").Rows("15:15").Copy
Sheets("Liens_CR").Rows("10:10").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Sheets("Page garde").Activate 'Facultatif si deja sur la page ...

ou encore :
Code:
Sheets("Liens_CR").Rows("10:10").Value = Sheets("Liens_CR").Rows("15:15").Value
Sheets("Page garde").Activate 'Facultatif si deja sur la page ...

Il n'y a pas de necessité d'afficher et d'activer la feuille Liens_CR

Le Select était également de trop
 
Dernière édition:

jjjerome

XLDnaute Occasionnel
Re : Toujours une Erreur 1004

Bonjour Gareth,
Plus loin dans mon code, j'ai également besoin de copier une ligne vers un autre classeur, mais à la suite de la dernière ligne, j'utilise la fonction 'Range("B65536").End(xlUp).Row + 1' mais je n'ai pas réussi à trouver le code pour copier la ligne compléte, alors je répète 20 fois le code ci-dessous (pour chaque cellule), j'imagine qu'il y a beaucoup plus simple... Pourrais-tu également m'aider ?



A = Workbooks(NomFichierSource).Sheets("Liens_CR").Range("A15")
B = Workbooks(NomFichierSource).Sheets("Liens_CR").Range("B15")
Workbooks.Open Filename:=NomFichierEtChemin
With Sheets("REALISE")
.Activate
dl = Workbooks(NomFichier).Sheets("REALISE").Range("B65536").End(xlUp).Row + 1

.Cells(dl, 1) = A
.Cells(dl, 2) = B
 

jjjerome

XLDnaute Occasionnel
Re : Toujours une Erreur 1004

re,
Petite précision, je ne veux copier que les valeurs
.
Workbooks(NomFichierSource).Sheets("Liens_CR").Range("A15:CC15").Copy Destination:=Workbooks(NomFichier).Sheets("REALISE").Cells(dl, 1)
Me recopie bien la ligne, mais je voudrais uniquement les valeurs de la ligne



Workbooks(NomFichier).Sheets("REALISE").Cells(dl, 1).Value = Workbooks(NomFichierSource).Sheets("Liens_CR").Rows("15:15").Value

Ne me copie que la cellule A
 

Bebere

XLDnaute Barbatruc
Re : Toujours une Erreur 1004

bonjour jjjerome
gareth t'a donné la solution poste #3
en voilà une autre
dl = Workbooks(NomFichier).Sheets("REALISE").Range("B65536").End(xlUp).Row + 1
Workbooks(NomFichier).Sheets("REALISE ").Range("A" & dl & ":CC" & dl).Value=(NomFichierSource).Sheets("Liens_CR").Range("A15:CC15").Value
 

jjjerome

XLDnaute Occasionnel
Re : Toujours une Erreur 1004

Bonjour Bebere et merci,

J'utilise finalement ce code :

dl = Workbooks(NomFichier).Sheets("REALISE").Range("B65536").End(xlUp).Row + 1
Workbooks(NomFichier).Sheets("REALISE").Rows(dl).Value = Workbooks(NomFichierSource).Sheets("Liens_CR").Rows("15:15").Value
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 263
Membres
103 498
dernier inscrit
FAHDE