Créer un fichier depuis 5 fichiers différents vba

mmxa1995 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   -  
 Stif -
Bonjour,

je possède 5 fichiers
A.xlsm
B.xlsm
C.xlsm
D.xlsm
E.xlsm

Et souhaite créer un seul fichier avec tous les données abcde.xlsm

Merci bcp,

A voir également:

2 réponses

Stif
 
Bonjour,
Si ta demande est bien le rapatriement des onglets de tous les classeurs, ces quelques lignes devraient faire l'affaire

Sub Récup_onglets()
Dim a As Variant, Nom As String
Dim Sh As Worksheet
Nom = ActiveWorkbook.Name
ChDrive "C:" ' Choix du lecteur
ChDir "C:" 'Choix du répertoire
a = Application.GetOpenFilename("fichier excel (*.xlsm), *.xlsm", _
, "Sélection de vos fichiers excel", , True)

Select Case TypeName(a)
Case Is = "Boolean"
Exit Sub
Case Else
For b = LBound(a) To UBound(a)
Workbooks.Open a(b)
Next
End Select

Nom2 = ActiveWorkbook.Name


For Each Sh In Workbooks(Nom2).Worksheets
'Workbook(classeur1).Sheets(Sh.Name).Select
Workbooks(Nom2).Sheets(Sh.Name).Copy Before:=Workbooks(Nom).Sheets(1)
Next Sh


If MsgBox("Besoin d'une autre importation ?", vbYesNo, "Demande de confirmation") = vbYes Then Call Récup_onglets

Windows(Nom2).Close

End Sub

Bonne journée,
0
mmxa1995 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Stif,
oui ma demande est bien le rapatriement des onglets de tous les classeurs et d'avoir un seul fichier avec tous les onglets

j'ai erreur 1004
la méthode copy classe ......
0
Stif > mmxa1995 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Ton fichier de destination est bien au format xlsm? l'erreur doit provenir de là.
Fais le test avec un xlsm et tiens moi au courant
0
mmxa1995 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
j'y arrive pas :(
ca me crée des onglets au niveau de ma macro
0
Stif
 
Oui la macro est programmée pour créer les onglet dans le classeur qui contient la macro. Enregistre / sous ton fichier de destination au format xlsm et mets y la macro en question...
0
Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
Salut,

Utilise la fonction open file puis quand ils seront tous ouverts worksheet pour le nom du fichier et sheet pour la feuille du fichier.
-1
mmxa1995 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Pierre,

l'objectif est le rapatriement des onglets de tous les classeurs et d'avoir un seul fichier avec tous les onglets
0
Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
C'est bizarre, je t'ai donné les 3 objets pour y parvenir ...
0