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

  • Initiateur de la discussion Initiateur de la discussion Dadi147
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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...

Pièces jointes

  • Screenshot 2023-01-13 134118.png
    Screenshot 2023-01-13 134118.png
    37.5 KB · Affichages: 25
  • Screenshot 2023-01-13 134058.png
    Screenshot 2023-01-13 134058.png
    10.2 KB · Affichages: 28
Re, faux, inutile de mentir car visiblement tu n'as rien compris. atchao !
Malgré mes adieux, je tiens à vous remercier pour cet effort incroyable. Merci beaucoup, un programme très agréable et précis... Quant à votre dernier commentaire. Je n'ai vraiment (pas menti) peut-être que je n'ai pas très bien compris. Mais lorsque j'ai essayé le fichier sur plusieurs appareils, dont Office 32 et Windows 64, cela a très bien fonctionné pour moi.
 
Salut, tjs dans procédure FusionFichiers dans
VB:
.....
                        Else
                            .Range(.Cells(iEntete + 1, "A"), .Cells(iLastRow, iLastCol)).Copy _
                                    WkbFusion.Worksheets(1).Cells(Rows.Count, "A").End(xlUp)
                        End If
                        .....
rajouter .offset(5)
Code:
.....
                        Else
                            .Range(.Cells(iEntete + 1, "A"), .Cells(iLastRow, iLastCol)).Copy _
                                    WkbFusion.Worksheets(1).Cells(Rows.Count, "A").End(xlUp).Offset(5)
                        End If
                        .....
Eventuellement rajouter à l'endroit idoine
VB:
WkbFusion.Worksheets(1).Rows("1:" & iOff).Delete Shift:=xlUp
avec iOff égal à 5
 

Pièces jointes

  • 1.png
    1.png
    49.6 KB · Affichages: 22
Dernière édition:
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 colonne B
        .Rows("1:" & h).Copy F.Cells(lig, 1) 'copier-coller
        lig = lig + h + 3 '3 lignes vides
        .Parent.Close False 'fermeture du fichier
    End With
Next
End Sub
A+
 

Pièces jointes

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 colonne B
        .Rows("1:" & h).Copy F.Cells(lig, 1) 'copier-coller
        lig = lig + h + 3 '3 lignes vides
        .Parent.Close False 'fermeture du fichier
    End With
Next
End Sub
A+
Bonjour job75
Merci de l'intérêt que vous portez à ma demande. Je ne sais pas comment vous décrire mon sentiment lorsque j'ai essayé le code. Facile et simple. Très précis. En fait, j'avais du mal à gérer les feuilles de calcul et à les copier dans le même Bien que l'idée du programme kiki29 soit
Très impressionnant. Et dynamique. Mais je n'ai pas pu copier les feuilles dans le même format d'origine. Merci. Merci.
 
Bonjour le forum
Si j'ai bien compris
À mettre tous les fichiers à importer dans un seul dossier dans mes documents
Il faut que les feuilles ou se trouve les données cibles ont le même nom
La macro va importer ces données sans ouvrir les 7 fichiers et les coller dans la feuille base.
Cordialement
 

Pièces jointes

Bonjour chindou,
Si j'ai bien compris
Eh non vous n'avez pas compris.

Il est bien précisé au post #1 que les 7 fichiers ont le même nom et se trouvent dans 7 dossiers différents.

Et ensuite il est clair que les lignes des titres sont à copier 7 fois avec 3 ou 4 lignes de séparation.

Il est clair aussi que les formats doivent être copiés.

Vous auriez quand même pu faire l'effort de tester (ou lire) ma solution du post #26 pour comprendre 🙄

A+
 
Bonjour chindou,

Eh non vous n'avez pas compris.

Il est bien précisé au post #1 que les 7 fichiers ont le même nom et se trouvent dans 7 dossiers différents.

Et ensuite il est clair que les lignes des titres sont à copier 7 fois avec 3 ou 4 lignes de séparation.

Il est clair aussi que les formats doivent être copiés.

Vous auriez quand même pu faire l'effort de tester (ou lire) ma solution du post #26 pour comprendre 🙄

A+
Mais heureusement, le fichier que vous avez joint a résolu tous mes problèmes. Merci. C'est maintenant mon fichier principal. 👍
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour