Comment copier des données entre deux fichiers Excel

Résolu
VincMalin Messages postés 11 Date d'inscription vendredi 11 novembre 2016 Statut Membre Dernière intervention 20 février 2017 - 11 nov. 2016 à 16:21
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 15 nov. 2016 à 15:19
Bonjour,
J'ai deux fichiers Excel, un "source" et un "destination". Je souhaite copier les données du fichier source vers le fichier destination avec un appui sur une "commandbutton" dans le fichier destination. Le fichier source étant fermé.
J'arrive à ouvrir, à sélectionner, à copier mais rien ne se colle.
Merci de votre aide.

6 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
11 nov. 2016 à 17:51
Bonjour,

Qu'as-tu écris comme code pour la copie?

0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 11/11/2016 à 17:54
Bonjour,
Et qu'as-tu au moins tenté d'écrire dans ce but ?
Une piste pour que tu commences à t'y mettre :
- utilisation de l'instruction Set pour affecter à) deux variables tes deux classeurs
- soit T une variable définie par Set T = ...(un classeur) ...
T.worskheets("la_feuille").Range("B3").Value
se réfère au contenu (accessible en lecture et écriture) de la cellule B3 de la feuille la_feuille du classeur affecté à la variable T
A toi de jouer.
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
VincMalin Messages postés 11 Date d'inscription vendredi 11 novembre 2016 Statut Membre Dernière intervention 20 février 2017
Modifié par ucfoutu le 11/11/2016 à 22:30
Bonjour,

Ci-dessous le code :
ChDir "D:\Users\Documents\- Vinc -"
Workbooks.Open Filename:="D:\Users\Documents\- Vinc -\source.xls"
Selection.Copy
Windows("destination.xls").Activate
ActiveSheet.Paste
Windows("source.xls").Activate
ActiveWindow.Close.

Merci.
Balises code ajoutées
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 nov. 2016 à 22:36
- ton chdir ne sert à rien
- tu utilises l'objet selection qui ne correspond à rien de précis
Applique ce que je 'ai recommandé dans mon message précédent, s'il te plait (affectation - par utilisation de Set - des classeurs traités à des variables, puis utilisation des variables ainsi créées et des objets Excel, comme je te l'ai dit plus haut).
0
VincMalin Messages postés 11 Date d'inscription vendredi 11 novembre 2016 Statut Membre Dernière intervention 20 février 2017
12 nov. 2016 à 10:25
en faisant comme ça, ça fonctionne.

Private Sub CommandButton1_Click()

Workbooks.Open Filename:="D:\Users\Documents\- Vinc -\source.xls"

Worksheets("Feuil1").Range("A1:B1").Copy

Workbooks("destination.xls").Activate
Worksheets("feuil1").Range("a1:b1").PasteSpecial xlPasteAll

Workbooks("source.xls").Close

End Sub

Merci pour les conseils.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 nov. 2016 à 13:07
Si cela fonctionne et te satisfait, n'en parlons plus.
Chacun décide de transformer son classeur en arbre de Noël ou de travailler avec les objets Excel. C'est son affaire, somme toute.
Si tu es satisfait : libère donc cette discussion (Marque-la comme résolue).
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
15 nov. 2016 à 15:19
Ce que ucfoutu (salut) te dit, c'est d'utiliser des objets un peu comme ceci
    Dim Wb As Workbook

Set Wb = Workbooks.Open(Filename:="D:\Users\Documents\- Vinc -\source.xls")
Wb.Sheets("Feuil1").Range("A1:B1").Copy ThisWorkbook.Sheets("feuil1").Range("A1:B1")

Wb.Close
Set Wb = Nothing


J'ai mis ThisWorkbook en pensant que c'était le classeur Destination.xls... à modifier donc si ce n'est pas le bon...
0
Rejoignez-nous