Comment copier des données entre deux fichiers Excel [Résolu]

VincMalin 11 Messages postés vendredi 11 novembre 2016Date d'inscription 20 février 2017 Dernière intervention - 11 nov. 2016 à 16:21 - Dernière réponse : cs_MPi 3861 Messages postés mardi 19 mars 2002Date d'inscription 14 février 2018 Dernière intervention
- 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.
Afficher la suite 

7 réponses

Répondre au sujet
cs_MPi 3861 Messages postés mardi 19 mars 2002Date d'inscription 14 février 2018 Dernière intervention - 11 nov. 2016 à 17:51
0
Utile
Bonjour,

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

Commenter la réponse de cs_MPi
ucfoutu 18035 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 17 février 2018 Dernière intervention - Modifié par ucfoutu le 11/11/2016 à 17:54
0
Utile
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.
Commenter la réponse de ucfoutu
VincMalin 11 Messages postés vendredi 11 novembre 2016Date d'inscription 20 février 2017 Dernière intervention - Modifié par ucfoutu le 11/11/2016 à 22:30
0
Utile
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
Commenter la réponse de VincMalin
ucfoutu 18035 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 17 février 2018 Dernière intervention - 11 nov. 2016 à 22:36
0
Utile
1
- 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).
VincMalin 11 Messages postés vendredi 11 novembre 2016Date d'inscription 20 février 2017 Dernière intervention - 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.
Commenter la réponse de ucfoutu
ucfoutu 18035 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 17 février 2018 Dernière intervention - 12 nov. 2016 à 13:07
0
Utile
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).
Commenter la réponse de ucfoutu
cs_MPi 3861 Messages postés mardi 19 mars 2002Date d'inscription 14 février 2018 Dernière intervention - 15 nov. 2016 à 15:19
0
Utile
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...
Commenter la réponse de cs_MPi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.