Créer un fichier depuis 5 fichiers différents vba
Fermé
mmxa1995
Messages postés
28
Date d'inscription
mardi 12 avril 2016
Statut
Membre
Dernière intervention
21 avril 2016
-
21 avril 2016 à 12:58
Stif - 22 avril 2016 à 07:36
Stif - 22 avril 2016 à 07:36
A voir également:
- Créer un fichier depuis 5 fichiers différents vba
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment créer un fichier pdf - Guide
- Créer un compte gmail - Guide
2 réponses
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,
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,
Pierre1310
Messages postés
8564
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
649
21 avril 2016 à 13:47
21 avril 2016 à 13:47
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.
Utilise la fonction open file puis quand ils seront tous ouverts worksheet pour le nom du fichier et sheet pour la feuille du fichier.
mmxa1995
Messages postés
28
Date d'inscription
mardi 12 avril 2016
Statut
Membre
Dernière intervention
21 avril 2016
21 avril 2016 à 14:55
21 avril 2016 à 14:55
Bonjour Pierre,
l'objectif est le rapatriement des onglets de tous les classeurs et d'avoir un seul fichier avec tous les onglets
l'objectif est le rapatriement des onglets de tous les classeurs et d'avoir un seul fichier avec tous les onglets
Pierre1310
Messages postés
8564
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
649
21 avril 2016 à 15:00
21 avril 2016 à 15:00
C'est bizarre, je t'ai donné les 3 objets pour y parvenir ...
21 avril 2016 à 14:46
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 ......
Modifié par Stif le 21/04/2016 à 14:59
Fais le test avec un xlsm et tiens moi au courant
21 avril 2016 à 16:49
ca me crée des onglets au niveau de ma macro
22 avril 2016 à 07:36