VBA : copier-coller une feuille dans un autre classeur

Résolu/Fermé
MJGOAT Messages postés 15 Date d'inscription jeudi 25 avril 2013 Statut Membre Dernière intervention 24 mai 2013 - 25 avril 2013 à 11:26
MJGOAT Messages postés 15 Date d'inscription jeudi 25 avril 2013 Statut Membre Dernière intervention 24 mai 2013 - 25 avril 2013 à 11:46
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 !
A voir également:

2 réponses

MJGOAT Messages postés 15 Date d'inscription jeudi 25 avril 2013 Statut Membre Dernière intervention 24 mai 2013 10
25 avril 2013 à 11:37
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 !
8
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
25 avril 2013 à 11:41
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)...
0
MJGOAT Messages postés 15 Date d'inscription jeudi 25 avril 2013 Statut Membre Dernière intervention 24 mai 2013 10
25 avril 2013 à 11:46
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 !
1