VBA : copier-coller une feuille dans un autre classeur [Résolu/Fermé]

Signaler
Messages postés
15
Date d'inscription
jeudi 25 avril 2013
Statut
Membre
Dernière intervention
24 mai 2013
-
MJGOAT
Messages postés
15
Date d'inscription
jeudi 25 avril 2013
Statut
Membre
Dernière intervention
24 mai 2013
-
Bonjour, n'étant pas expert en VBA, je me tourne vers vous car j'ai besoin de votre aide !

Je voudrais créer un programme qui ouvre un fichier source (TM.xlsx) afin de copier une feuille de celui-ci (Type_mine) dans un autre classeur (en l'occurence, le classeur contenant le programme, "Programme.xlsx" dans la feuille "CC").

J'ai pour le moment fait cela :

Sub recup_donnees()

Dim fichier As String
Dim programme As String

fichier = "H:\Stage\Programme\TM.xlsx"
programme = "H:\Stage\Programme\Programme.xlsm"


Workbooks.Open Filename:=fichier 'Ouvre le fichier source
Workbooks(fichier).Worksheets("Type_mine").Cells.Copy.:=Workbooks(programme).Worksheets("CC").Range("A1") ' On colle les données
Workbooks(Nom_Fichier).Close False ' On ferme le fichier source
End Sub


Hélas, le fichier bloque au passage du copier-coller.

Pourriez-vous m'aider???

Je vous remercie d'avance de votre aide !

2 réponses

Messages postés
15
Date d'inscription
jeudi 25 avril 2013
Statut
Membre
Dernière intervention
24 mai 2013
7
Merci Morgothal pour ta réponse !

Hélas je rencontre toujours un problème au niveau de la copie de mon fichier source.

Il m'affiche une erreur d'excécution '9', avec le message suivant : "L'indice n'appartient pas à la sélection".

Aurait-eu une idée pour ce problème?

Merci d'avance !
6
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 78914 internautes nous ont dit merci ce mois-ci

Morgothal
Messages postés
1265
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
142
Les noms de feuille sont bien orthographiés ?
Je ne vois que ça pour une telle erreur (vu que tu peux accéder à tes classeurs)...
MJGOAT
Messages postés
15
Date d'inscription
jeudi 25 avril 2013
Statut
Membre
Dernière intervention
24 mai 2013
7
Les noms de feuilles sont biens orthographiés.

J'ai trouvé une solution qui fonctionne très bien finalement :

Sub recup_donnes()

Workbooks("Programme.xlsm").Worksheets("CC").Cells.ClearContents ' Efface le contenu de la feuille qui va recevoir les données

Workbooks.Open Filename:="H:\Stage\Programme\TM.xlsx" 'Ouvre le fichier Excel source

Workbooks("TM.xlsx").Worksheets("Type_mine").Cells.Copy _
Workbooks("Programme.xlsm").Worksheets("CC").Range("A1") 'Copie-colle le fichier

Workbooks("Tm.xlsx").Close False 'Referme le fichier source

End Sub


Je te remercie tout de même pour ton aide Morgothal ;)

Bonne journée !
Messages postés
1265
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
142
Hello,
Tu peux essayer avec ceci ?
Workbooks.Open Filename:=fichier 'Ouvre le fichier source

Workbooks(fichier).Worksheets("Type_mine").Cells.Select
Selection.Copy

Workbooks(programme).Worksheets("CC").Range("A1").Activate
ActiveSheet.Paste
Workbooks(Nom_Fichier).Close False ' On ferme le fichier source