Importer des données de plusieurs classeurs

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 !

bobjazz

XLDnaute Impliqué
Bonjour le Forum,

Je voudrais importer des données de 3 classeurs, les feuilles sont identiques, dans un classeur destinataires.

Dans un premier temps, vider la feuille du destinataire et j’avoue que je ne sais pas comment faire pour que les données s'ajoutent les unes à la suite et non remplacées.

J’utilisais ce code pour importer 1 feuille, mais là je coince.
Code :
Sub test()
Dim classeurSource As Workbook, classeurDestination As Workbook
Set classeurSource = Application.Workbooks.Open("C:\source.xls", , True)
Set classeurDestination = ThisWorkbook
classeurSource.Sheets("Feuil1").Cells.Copy classeurDestination.Sheets("Feuil1").Range("A1")
classeurSource.Close False
End Sub

Merci d’avance

Bobjazz
 
Re : Importer des données de plusieurs classeurs

bonjour a tous
à essayer
Sub test()
Dim classeurSource As Workbook, classeurDestination As Workbook, Fichier$, Filtre$
Set classeurDestination = ThisWorkbook
Filtre = "Fichiers Excel 2007-2010(*.xlsx;*.xslm),*.xlsx;*.xslm,"
Fichier = Application.GetOpenFilename(Filtre, 1, "Sélection fichier")
If Fichier = "" Then Exit Sub
Set classeurSource = Application.Workbooks.Open(Fichier)
classeurSource.Sheets("Feuil1").Range("a6:j36").Copy classeurDestination.Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
classeurSource.Close False
End Sub
 
Re : Importer des données de plusieurs classeurs

Bonjour jpb388

Cela fonctionne, j'ouvre mes fichiers 1 par 1, mais il faut que je vide ma feuille destinataire avant de commencer.
Mais je voudrais que chaque fois que j'importe mes données, je vide ma feuille destinataire pour pouvoir importer mes 3 fichiers à la suite( ce sont des données qui se mettent à jour), mon fichier destinataire me sert de synthèse.
Crois-tu que cela est possible, ou il faut que fasse par étape.

Merci d'avance

Bobjazz
 
Re : Importer des données de plusieurs classeurs

Re Bonjour jpb388 et flyonets44

Lors de mes importations, je copie bien la structure, mais quand je veux importer le 2ème fichier, j'écrase le 1er et mon souhait et de copier 3 feuilles de même structure des 3 fichiers différents à la suite, comme dans mon exemple.
J'ai bien mis ce code, mais je ne peux ouvrir qu'un fichier à la fois.

Sub test()
Feuil1.Cells.ClearContents
Dim classeurSource As Workbook, classeurDestination As Workbook, Fichier$, Filtre$
Set classeurDestination = ThisWorkbook
Filtre = "Fichiers Excel 2007-2010(*.xlsx;*.xslm),*.xlsx;*.xslm,"
Fichier = Application.GetOpenFilename(Filtre, 1, "Sélection fichier")
If Fichier = "" Then Exit Sub
Set classeurSource = Application.Workbooks.Open(Fichier)
classeurSource.Sheets("Feuil1").Range("a6:j36").Copy classeurDestination.Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
classeurSource.Close False
End Sub

Merci d'avance

Bobjazz
 
Re : Importer des données de plusieurs classeurs

re
pour ouvrir plusieurs classeurs
Sub test()
Dim classeurSource As Workbook, classeurDestination As Workbook, Fichiers, Filtre$, i%
Feuil1.Cells.ClearContents
Set classeurDestination = ThisWorkbook
Filtre = "Fichiers Excel 2007-2010(*.xlsx;*.xslm),*.xlsx;*.xslm,"
Fichiers = Application.GetOpenFilename(Filtre, 1, "Sélection des fichiers", , True)
If IsArray(Fichiers) = False Then Exit Sub
For i = LBound(Fichiers) To UBound(Fichiers)
Set classeurSource = Application.Workbooks.Open(Fichiers(i))
classeurSource.Sheets("Feuil1").Range("a6:j36").Copy classeurDestination.Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
classeurSource.Close False
Next
End Sub
a+
 
Re : Importer des données de plusieurs classeurs

Oui je ne comprends pas effectivement sur les fichiers que j'ai mis en ligne cela fonctionne et quand je l'adapte sur celui qui doit fonctionner, BUG
Voilà le code, si tu vois quelque chose
J'ai mis du temps j'essaie de comprendre avant d’embêter
Encore Merci
Sub MAJ()

Dim classeurSource As Workbook, classeurDestination As Workbook, Fichiers, Filtre$, i%
Feuil1.Cells.ClearContents
Set classeurDestination = ThisWorkbook
Filtre = "Fichiers Excel 2007-2010(*.xlsx;*.xslm),*.xlsx;*.xslm,"
Fichiers = Application.GetOpenFilename(Filtre, 1, "Sélection des fichiers", , True)
If IsArray(Fichiers) = False Then Exit Sub
For i = LBound(Fichiers) To UBound(Fichiers)
Set classeurSource = Application.Workbooks.Open(Fichiers(i))
classeurSource.Sheets("Saisie CR").Range("a6:q36").Copy classeurDestination.Sheets("Saisie CR").Range("A" & Rows.Count).End(xlUp).Offset(5, 0)
classeurSource.Close False
Next

End Sub
 
Re : Importer des données de plusieurs classeurs

re
mets cette phrase à la place de l'autre
Filtre = "Fichiers Excel 2007-2010(*.xlsx;*.xlsm),*.xlsx;*.xlsm,"
je ne vois rien de particulier
si ce n'est pas trop confidentiel envoie moi le 3eme celui qui bug pour voir si je peux l'ouvrir
en éliminant les problèmes 1 par 1 on devrait trouver
a+
 
- 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