Copier/coller dans un autre classeur [Fermé]

Signaler
Messages postés
260
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
2 octobre 2019
-
ThauTheme
Messages postés
4626
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
28 janvier 2020
-
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!

2 réponses

Messages postés
4626
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
28 janvier 2020
120
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

Messages postés
260
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
2 octobre 2019
3
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 :)
ThauTheme
Messages postés
4626
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
28 janvier 2020
120
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...