Copier/Coller entre 2 classeurs VBA
Résolu
ti_mouton
Messages postés
143
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je suis novice en VBA et je cherche à développer une macro qui me permette de Copier/Coller les colonnes de la feuille "Listing des Projets" contenue dans le classeur "Base de données" sur la feuille "BDD" du classeur sur lequel je développe la macro.
Grâce à internet j'ai réussi à commencer l'écriture de la macro, mais elle ne marche pas, ça me met un message d'erreur au niveau de cette linge :
classeurSource.Sheets("Listing des Projets").Cells.Copy classeurDestination.Sheets("BDD").Range("A1").Paste
Voici ma macro en entier :
Merci pour votre aide
Je suis novice en VBA et je cherche à développer une macro qui me permette de Copier/Coller les colonnes de la feuille "Listing des Projets" contenue dans le classeur "Base de données" sur la feuille "BDD" du classeur sur lequel je développe la macro.
Grâce à internet j'ai réussi à commencer l'écriture de la macro, mais elle ne marche pas, ça me met un message d'erreur au niveau de cette linge :
classeurSource.Sheets("Listing des Projets").Cells.Copy classeurDestination.Sheets("BDD").Range("A1").Paste
Voici ma macro en entier :
Sub CommandBouton1() Dim classeurSource As Workbook, classeurDestination As Workbook 'ouvrir le classeur source (en lecture seule) Chemin = ThisWorkbook.Path Set classeurSource = Application.Workbooks.Open(Chemin & "\Base de données.xlsm") 'définir le classeur destination Set classeurDestination = ThisWorkbook 'copier les données de la feuille"Listing des Projets" du classeur source vers la feuille "BDD" du classeur destination classeurSource.Sheets("Listing des Projets").Cells.Copy classeurDestination.Sheets("BDD").Range("A1").Paste 'fermer le classeur source classeurSource.Close False End Sub
Merci pour votre aide
A voir également:
- Copier coller vba excel entre 2 classeurs
- Historique copier coller - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Liste déroulante excel - Guide
- Copier-coller - Accueil - Informatique
- Copier coller pdf - Guide
1 réponse
Bonjour,
Essayez comme ceci :
EDIT : explications :
J'ai placé la définition du classeur destination avant, puisqu'on "était sur" le ThisWorkbook.
Ce qui bugguait c'était la syntaxe avec .Paste.
Si vous voulez utiliser .Paste, il faut le mettre sur deux lignes de code :
Sans le Paste, sur une seule ligne de code :
🎼 Cordialement,
Franck 🎶
Essayez comme ceci :
Sub CommandBouton1() Dim classeurSource As Workbook, classeurDestination As Workbook 'ouvrir le classeur source (en lecture seule) Chemin = ThisWorkbook.Path 'définir le classeur destination Set classeurDestination = ThisWorkbook Set classeurSource = Application.Workbooks.Open(Chemin & "\Base de données.xlsm") 'copier les données de la feuille"Listing des Projets" du classeur source vers la feuille "BDD" du classeur destination classeurSource.Sheets("Listing des Projets").Cells.Copy classeurDestination.Sheets("BDD").Range("A1") 'fermer le classeur source classeurSource.Close False End Sub
EDIT : explications :
J'ai placé la définition du classeur destination avant, puisqu'on "était sur" le ThisWorkbook.
Ce qui bugguait c'était la syntaxe avec .Paste.
Si vous voulez utiliser .Paste, il faut le mettre sur deux lignes de code :
Workbooks("machin").Sheets("Chose").Range("truc").Copy
Workbooks("destin").Sheets("feuille").Range("A1").Paste
Sans le Paste, sur une seule ligne de code :
classeurSource.Sheets("Listing des Projets").Cells.Copy classeurDestination.Sheets("BDD").Range("A1")
🎼 Cordialement,
Franck 🎶
A++