Boite de dialogue ouverture plusieurs fichiers

Bonjour à tous! Je reviens une nouvelle fois vers vous car mon incompétence me bloque dans mon travail.

Je voulais savoir s'il était possible via VBA d'ouvrir une boite de dialogue afin de sélectionner plusieurs autres fichiers excel pour ensuite leur appliquer les mêmes commandes.

Il s'agit en fait de fichiers identiques dont les valeurs changent chaque semaine. Pour réaliser mon travail, je dois exporter les données des 6 dernières semaines qui se trouvent donc dans 6 fichiers qui diffèrent seulement par leur nom( un nouveau fichier est créé chaque nouvelle semaine). Je voudrais donc faire en sorte que l'on puisse choisir ces 6 derniers fichiers en ouvrant une boîte affichant le dossier dans lequel ils se trouvent, puis copier certaines données de chaque feuille afin de pouvoir les regrouper dans un même classeur et les analyser.

Malheureusement après de nombreux essais, je n'arrive toujours à rien !

Merci par avance de votre aide!

Bonjour Jhavidbest, bonjour le forum,

Peut-être comme ça :

Sub Macro1()
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim BSF As FileDialog 'déclare la variable BSF (Boîte de Sélection de Fichers)
Dim FS As Byte 'déclare la variable FS (Fichier Sélectionné)
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)

Set CD = ThisWorkbook 'définit la classeur destination CD
Set OD = CD.Worksheets(1) 'définit l'onglet destination OD (à adapter à ton cas)
Set BSF = Application.FileDialog(msoFileDialogOpen) 'définit la variable BSF
BSF.AllowMultiSelect = True 'permet la sélection multiple de fichiers
BSF.Show 'affiche la fenêtre BSF
If BSF.SelectedItems.Count = 0 Then Exit Sub 'si aucun fichier sélectionné sort de la procédure
For FS = 1 To BSF.SelectedItems.Count 'boucle sur tous les fichiers sélectionnés
    Application.Workbooks.Open (BSF.SelectedItems(FS)) 'ouvre le fichier sélectionné de la boucle
    Set CS = ActiveWorkbook 'définit le classeur source CS
    Set OS = CS.Worksheets(1) 'définit l'onglet source OS (à adapter à ton cas)

    'la suite de ton code qui va copier coller des données de l'ongle3t source OS vers l'onglet destination OD
    'OS.range("Ta_plage_Source").copy od.range("Ta _cellule_destination)
    'etc.

    CS.Close False 'ferme le classeur source sans enregistrer
Next FS 'prochain fichier sélectionné de la boucle
End Sub

Pourquoi je sais pas faire ça tout seul moi !

Merci beaucoup c'est génial ! Je vais bidouiller mon " copier/coller " et ça sera bon!

Rechercher des sujets similaires à "boite dialogue ouverture fichiers"