VBA : copier-coller une feuille dans un autre classeur

Résolu
MJGOAT Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
MJGOAT Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. MJGOAT Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   10
     
    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
    1. Morgothal Messages postés 1350 Statut Membre 184
       
      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
    2. MJGOAT Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   10
       
      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