XL 2010 [RÉSOLU] Copie automatique de colonnes d'un classeur excel à un autre

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ludo64

XLDnaute Nouveau
Bonjour à tous,

Je reviens toujours en tant que débutant en VBA.

J 'ai lu plusieurs discussions qui tournaient autour de la copie de feuille mais impossible de tomber sur ce que je veux.

Mon but à moi serait de copier les colonnes A B et C d'un fichier A Excel dans un fichier B Excel dans une feuille précise, automatiquement, en actionnant un bouton sur le fichier B par exemple ( ce qui me semble plus accessible).

J'espère que vous avez des idées à me transmettre et je sais que vous pourrez m'aider.

Merci d'avance.
 
Bonjour,
Cela pourrait ressembler à ceci:
VB:
Sub Copier()
Dim Source As String
Source = "D:\Mes documents\test\ClasseurA.xlsx" 'A adapter
    Workbooks.Open Filename:=Source
    'Ci-dessous adapter le nom des feuilles
    ActiveWorkbook.Sheets("Feuil1").Columns("A:C").Copy ThisWorkbook.Sheets("Feuil2").[A1]
    ActiveWindow.Close False
End Sub
 
Merci d'avoir intervenu 🙂

J'ai essayé d'adapter à ma situation

VB:
Sub Copier()

Dim Source As String

Dim Destination As String




Source = "E:\ ... .xls" 'A adapter

Destination = "E:\ ... .xls"




     Workbooks.Open Filename:=Source

     'Ci-dessous adapter le nom des feuilles

     Workbooks(Source).Sheets("Feuil1").Columns("A:C").Copy Workbooks(Destination).Sheets("Feuil5")

     ActiveWindow.Close False

  

End Sub


Mais j'ai une erreur sur cette ligne, avec le message " Erreur d'exécution '9' "

VB:
  Workbooks(Source).Sheets("Feuil1").Columns("A:C").Copy Workbooks(Destination).Sheets("Feuil5")
 
RE...
Je n'ai aucune erreur avec
Code:
ActiveWorkbook.Sheets("Feuil2").Columns("A:C").Copy ThisWorkbook.Sheets("Feuil5").[a1]
"Feuil5" doit exister
La cellule de destination doit être spécifiée, [a1] dans l'exemple
Le code est exécuté à partir du classeur de destination (Classeur B)
 
Re...
Si tu souhaites absolument utiliser
"Source" et "destination"
Il y a ceci:
VB:
Sub Copier3()
Dim Source As String, Destination As String, Chemin As String
Chemin = "D:\Mes documents\test\" 'A adapter
Source = "ClasseurA.xlsx" 'A adapter
Destination = "ClasseurB.xlsm" 'A adapter mais doit être avec l'extension ".xlsm" et enregistrer.
Workbooks.Open Filename:=Chemin & Source
'Ci-dessous adapter le nom des feuilles
Workbooks(Source).Sheets("Feuil1").Columns("A:C").Copy Workbooks(Destination).Sheets("Feuil5").[a1]
Workbooks(Source).Close False
End Sub
 
Dernière édition:
Merci bien, mais ta première version me va très bien.

C'est juste que je pensais qu'il fallait faire obligatoirement cette distinction dans le code mais tu m'as prouvé le contraire.

Merci encore de t'être penché autant sur le sujet.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour