VBA copier/coller des feuilles vers d'autres classeurs

DuckDaffy

XLDnaute Nouveau
Bonjour à tous,

Je rencontre un soucis avec mon code VBA et j'ai besoin de vos lumières :)
Je souhaite, à l'aide d'un commandbutton qui est dans le classeur A ouvrir plusieurs fichiers excel (se trouvant dans le dossier "Test"), copier la feuille nommé "Form TT" (présente dans tous les fichiers excel du dossier "Test") et les coller dans le classeur "Recensement formation".
Classeur A et le fichier Recensement formation sont dans le même dossier

Voici le code que j'ai :

Private Sub CommandButton2_Click()

Dim wkbSource As Workbook
Dim wkbDest As Workbook
Dim shtToCopy As Worksheet
Dim myPath As String, myfile As String


Set wkbDest = Workbooks.Open("S:\Situations\Budget 2016\Construction\Recensement formation.xlsm")

myfile = "Recensement formation.xlsm"


ChDir "S:\Situations\Budget 2016\Construction\test"
monfichier = Dir("*.*")
While monfichier <> ""
Workbooks.Open monfichier
monfichier = Dir()
Workbooks.Open ("S:\Situations\Budget 2016\Construction\Recensement formation.xlsm")
myfile = Dir()


Workbooks(monfichier).Sheets("Form TT").Copy _
after:=Workbooks(myfile).Sheets("Feuil2") 'Copie-colle le fichier

Workbooks(monfichier).Close


Wend

End Sub

J'ai comme erreur : l'indice n'appartient pas à la selection à ce niveau :

Workbooks(monfichier).Sheets("Form TT").Copy _
after:=Workbooks(myfile).Sheets("Feuil2") 'Copie-colle le fichier

Quand je laisse mon curseur sur "myfile" il m'indique myfile = ""... je suppose que le problème est ici..

Pouvez-vous m'aider, je m'arrache les cheveux dessus :(

Merci :D
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : VBA copier/coller des feuilles vers d'autres classeurs

Bonjour,

essaye peut être comme suit :
Code:
Private Sub CommandButton2_Click()
 Dim wkbSource As Workbook
 Dim wkbDest As Workbook
 Dim shtToCopy As Worksheet
 Dim myPath As String, monfichier As String
Set wkbDest = Workbooks.Open("S:\Situations\Budget 2016\Construction\Recensement formation.xlsm")
ChDir "S:\Situations\Budget 2016\Construction\test"
 monfichier = Dir("*.*")
 While monfichier <> ""
    Workbooks.Open monfichier
    Workbooks(monfichier).Sheets("Form TT").Copy after:=wkbDest.Sheets("Feuil2")
    Workbooks(monfichier).Close
    monfichier = Dir
Wend
End Sub

bon après midi
@+
 

DuckDaffy

XLDnaute Nouveau
Re : VBA copier/coller des feuilles vers d'autres classeurs

Merci pour ton retour Pierrot93,

J'ai mis à jour le code mais une erreur m'apparait : Excel ne peut pas accéder à 'Budget 2016'. Le document est peut être en lecture seule ou chiffré.

Erreur à ce niveau :
Workbooks.Open monfichier

En laissant le curseur sur "monfichier", il m'affiche : monfichier = "Budget 2016 - Raccourci.Ink"

Le dossier Budget 2016 n'a pas bougé de place, et aucun autre fichier n'est ouvert au moment de lancer la macro...
As-tu une idée ?

Merci d'avance
 

Discussions similaires

Statistiques des forums

Discussions
311 719
Messages
2 081 881
Membres
101 829
dernier inscrit
listener75