Consolider des fichiers dans un seul fichier

  • Initiateur de la discussion Initiateur de la discussion Martin DUFOURCQ
  • 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 !

M

Martin DUFOURCQ

Guest
Bonjour,

n'étant vraiment bon dans la manipulation des macros, je demande un peu d'aide aux experts...

Voilà mon problème. Je reçois régulièrement 30 fichiers excel. Tous n'ont qu'un seul onglet et sont dans le même format (seul le nom du fichier et de l'onglet change, ils sont propres à la société me faisant un retour).

J'aimerai savoir s'il est possible, depuis un fichier que j'appellerai "Conso" d'avoir un bouton qui m'ouvre une boite de dialogue pour choisir le fichiers dont je souhaite importer les onglets via un copier / coller?

J'ai trouvé pleins de posts sur l'import de données mais jamais avec une boite de dialogue permettant de choisir les fichiers sources.

Je vous remercie de votre aide,
 
Re : Consolider des fichiers dans un seul fichier

Mromain,

merci de ta réponse.. Cependant, je ne sais pas comment compiler cette fonction d'ouverture de boite de dialogue avec le fait que les fichiers que je sélectionne doit être pris en compte pour l'import (copier/coller) de leurs onglets vers mon fichier de consolidation...

Cela dit, merci beaucoup,
 
Re : Consolider des fichiers dans un seul fichier

re bonjour,

dans ton fichier de "consolidation", tu mets cette macro :

Code:
Dim fileName As String, nbFiles As Integer, curfile, curWbk As Workbook, FD As FileDialog
Set FD = Application.FileDialog(msoFileDialogFilePicker)

FD.AllowMultiSelect = True    [COLOR="Green"]'autoriser la sélection de plusieurs fichier[/COLOR]
FD.Filters.Clear    [COLOR="Green"]'RAZ des filtres de fichiers[/COLOR]
FD.Filters.Add Description:="Excel Files", Extensions:="*.xls;*.xlsx"    [COLOR="Green"]'filtrer sur les fichiers excel[/COLOR]
FD.Show     [COLOR="Green"]'afficher la boite de dialogue[/COLOR]

For Each curfile In FD.SelectedItems    [COLOR="Green"]'pour chaque fichier séléctionné[/COLOR]
    Set curWbk = Application.Workbooks.Open(fileName:=curfile)    [COLOR="Green"]'ouvrir le classeur[/COLOR]
    curWbk.Sheets([B][COLOR="Red"]1[/COLOR][/B]).Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)    [COLOR="Green"]'copier la feuille 1 après la dernière feuille de ce classeur[/COLOR]
    curWbk.Close savechanges:=False    [COLOR="Green"]'fermer le classeur sans sauvegarder[/COLOR]
Next curfile

cette macro ouvre chaque classeur sélectionné dans la boite de dialogue, copie la première feuille et la colle à la suite de ton classeur de "consolidation".

tu peux modifier le 1 par "nom de ta feuille", si tous les classeurs on le même nom d'onglet.

a+
 
Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
37
Affichages
1 K
Retour