Copier/coller dans un autre classeur

roideseaux Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   -  
ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaite copier le contenu de mon classeur courant dans une autre classeur.
J'utilise Copy/Paste mais ca ne fonctionne je tombe sur une erreur au moment de coller (Propiété ou méthode non gérée par cet objet.)

Voici le code que j'ai pour le moment :
    Dim DerLigne_NFC As Long
    
'Dernière ligne du fichier
    DerLigne_NFC = Range("B" & Rows.Count).End(xlUp).Row

    ThisWorkbook.Sheets("Feuil1").Range("A1:I" & DerLigne_NFC).Copy

  'Ouverture du fichier
    Workbooks.Open Filename:= _
        "C:\Users\Kevin\Desktop\GCE\Etiquettes UBIWIZZ\Envoi_vers_P-touch.xls"       
        
    Range("A1:I" & DerLigne_NFC).Paste

   'Fermeture du fichier                  
    Windows("Envoi_vers_P-touch.xls").Close   
     
    Worksheets("Feuil1").Activate


Je ne sais pas pourquoi ça ne fonctionne pas...
Quelqu'un pourrait m'éclairer ?

merci!

A voir également:

2 réponses

ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160
 
Bonjour le Roi, bonjour le forum,

Dans ce genre de problème il faut toujours bien spécifier la source et la destination. Essaie comme ça :

Sub Macro1()
Dim CS As Workbook
Dim OS As Worksheet
Dim CD As Workbook
Dim OD As Worksheet
Dim DerLigne_NFC As Long

Set CS = ThisWorkbook
Set OS = CS.Sheets("Feuil1")
Workbooks.Open Filename:="C:\Users\Kevin\Desktop\GCE\Etiquettes UBIWIZZ\Envoi_vers_P-touch.xls"
Set CD = ActiveWorkbook
Set OD = CD.Sheets("Feuil1")
DerLigne_NFC = OS.Range("B" & Rows.Count).End(xlUp).Row
OS.Range("A1:I" & DerLigne_NFC).Copy OD.Range("A1")
CD.Close
End Sub

0
roideseaux Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   5
 
Impecc, ca fonctionne !
Tu sais pourquoi ca ne marche pas avec .Paste ?

J'ai juste ajouté un petit CD.Save parce que sinon le fichier n'est pas fermé et demande une sauvegarde... ^^

En tout cas, merci :)
0
ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160
 
Re,

Ça marche avec Paste mais, comme je t'ai dit dans mon premier post il faut spécifier la source et la destination.
Si tu fais :
OS.Range("A1:I" & DerLigne_NFC).Copy
OD.Range("A1").Paste

ça marche.

Sinon, pas besoin de rajouter CD.Save, remplace CD.Close par CD.Close SaveChanges:= True qui ferme en enregistrant les changements...
0