XL 2016 Importer les données de plusieurs fichiers Excel portant le même nom dans un nouveau fichier

Dadi147

XLDnaute Occasionnel
Bonjour. Renseignements pour ceux qui ont de l'expérience. J'ai 7 fichiers Excel avec le même nom, (summary).ils ont été placés dans 7 dossiers dans un dossier, et je veux un moyen de les copier dans un nouveau fichier en dessous l'un de l'autre. Pouvons-nous faire cela
 
Dernière édition:
Solution
Bonjour Dadi147, le forum,

L'importation se fait très simplement avec cette macro :
VB:
Sub Importer()
Dim chemin$, dossier, fichier, F As Worksheet, lig&, i%, h&
chemin = ThisWorkbook.Path & "\"
dossier = Array("Dossier1", "Dossier2", "Dossier3", "Dossier4", "Dossier5", "Dossier6", "Dossier7") 'liste à adapter
fichier = "Summary.xls" 'à adapter
Set F = ActiveSheet
lig = 2 '1ère ligne de destination
Application.ScreenUpdating = False
F.Rows(lig & ":" & F.Rows.Count).Delete 'RAZ
For i = 0 To UBound(dossier)
    With Workbooks.Open(chemin & dossier(i) & "\" & fichier).Sheets(1) 'ouverture du fichier
        If .FilterMode Then .ShowAllData 'si la feuille est filtrée
        h = .Range("B" & .Rows.Count).End(xlUp).Row 'dernière ligne en...

Dadi147

XLDnaute Occasionnel
Bonjour @Hasco , @BrunoM45 ;);),

Je ne fais que copier. Donc, je dis bonjour qu'aux personnes polies.
David devrait instaurer des sanctions envers ceux et celles qui dérogent aux règles du forum.

Bonne journée.
Il y a un malentendu, je n'ai juste pas fait attention et j'ai écrit un mot (bienvenue)
je ne savais pas qu'il y avait une différence
Il a été modifié dans le post, désolé encore......
 

kiki29

XLDnaute Barbatruc
Re,
Dans la procédure FusionFichiers, ajouter :
VB:
.Range("A3:A" & Rows.Count).Delete Shift:=xlToLeft
ici
Code:
.....
With WkbDecoupage.Worksheets(sFeuille)
                    If FeuilleVide(WkbDecoupage.Worksheets(sFeuille)) = False Then
            >>>>>>      .Range("A3:A" & Rows.Count).Delete Shift:=xlToLeft
                        iLastCol = .Cells(1, Columns.Count).End(xlToLeft).Column
                        .....
 

Pièces jointes

  • 3.png
    3.png
    192.1 KB · Affichages: 21

Dadi147

XLDnaute Occasionnel
Re,
Dans la procédure FusionFichiers, ajouter :
VB:
.Range("A3:A" & Rows.Count).Delete Shift:=xlToLeft
ici
Code:
.....
With WkbDecoupage.Worksheets(sFeuille)
                    If FeuilleVide(WkbDecoupage.Worksheets(sFeuille)) = False Then
            >>>>>>      .Range("A3:A" & Rows.Count).Delete Shift:=xlToLeft
                        iLastCol = .Cells(1, Columns.Count).End(xlToLeft).Column
                        .....
Lorsque vous essayez d'ouvrir le fichier sur un ordinateur 64 bits, ce message est apparu
VB:
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Private Declare Function FindFirstFile Lib "kernel32" _
                                       Alias "FindFirstFileA" _
                                       (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindNextFile Lib "kernel32" _
                                      Alias "FindNextFileA" _
                                      (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenW" (ByVal lpString As Long) As Long
Private Declare Function PathMatchSpec Lib "shlwapi" _
                                       Alias "PathMatchSpecW" _
                                       (ByVal pszFileParam As Long, ByVal pszSpec As Long) As Long
 

Pièces jointes

  • Screenshot 2023-01-13 014709.png
    Screenshot 2023-01-13 014709.png
    33.1 KB · Affichages: 19

Discussions similaires

Statistiques des forums

Discussions
312 082
Messages
2 085 171
Membres
102 805
dernier inscrit
emes