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

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

Votre réponse

6 réponses

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Dernière intervention
23 août 2018
0
Merci
Bonjour,

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

Commenter la réponse de cs_MPi
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
0
Merci
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
Messages postés
11
Date d'inscription
vendredi 11 novembre 2016
Dernière intervention
20 février 2017
0
Merci
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
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
0
Merci
- 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
Messages postés
11
Date d'inscription
vendredi 11 novembre 2016
Dernière intervention
20 février 2017
-
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
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
0
Merci
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
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Dernière intervention
23 août 2018
0
Merci
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.