COPIER-COLLER Plusieurs feuilles de classeurs

steph544

XLDnaute Nouveau
Bonjour la communauté,

voila mon petit souci

je dispose d'un classeur de base de donné (classeur de destination liste.xlsm) et de plusieurs autres classeurs. La macro se lance sur le classeur de base de donné et viens chercher les classeur sources pour récupérer les feuilles.

Cependant je voudrais que lorsque l'on indique le fichier source pour le coller, la fenetre de se fichier ne se voit pas car actuellement il faut toujours cliquer sur fermer la fenetre!

Deuxiement peut on selectionner plusieurs fichier afin qu'il copie et colle les donnée dans le classeur de destination ?? car je possede plusieurs fichier le faite de selctionner à X reprise les fichiers cela deviant un peu trop long.

Je mets en piece jointe les fichiers.

MErci de votre AIDE !!!!
 

Pièces jointes

  • liste.xlsm
    656.6 KB · Affichages: 52
  • feuille source 1.xlsx
    18 KB · Affichages: 59
  • feuille source 2.xlsx
    18.1 KB · Affichages: 52

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Steph, bonjour le forum,

Essaie comme ça :

VB:
Sub CopieColleWbk()
Dim CD As Workbook  ' déclare la variable CD (Classeur Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim BD As FileDialog 'déclare la variable BD (Bôite de Dialogue)
Dim CS As Workbook  ' déclare la variable CS (Classeur source)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim I As Byte 'déclare la variable I (Incrément)

Set CD = ThisWorkbook 'définit la classeur destination CD
Set OD = CD.Worksheets("données") 'définit l'onglet destination OD
Set BD = Application.FileDialog(msoFileDialogFilePicker) 'définit BD pour sélectionner un ou plusieurs fichiers
With BD 'prend en compte BD
    .AllowMultiSelect = True 'autorise la sélection mutiple
    .Show 'affiche la boîte de dialogue
    For I = 1 To .SelectedItems.Count 'boucle sur tous les fichiers sélectionnés
        Application.Workbooks.Open BD.SelectedItems(I) 'ouvre le fichier de la boucle
        Set CS = ActiveWorkbook 'définit le classeur source CS
        Set OS = CS.Worksheets("Feuil1") 'définit l'onglet source OS
        'copie la plage A5:BP... de l'onglet source OS et la colle dans la première ligne vide de la colonne A de l'onglet destination OD
        OS.Range("A5:BP" & OS.Cells(Application.Rows.Count, "C").End(xlUp).Row).Copy OD.Cells(Application.Rows.Count, "A").End(xlUp)(2)
        CS.Close False 'ferme le classeur source (sans enregistrer)
    Next I 'prochain claseur de la source
End With 'fin de la prise en compte de la boîte de dialogue BD
End Sub
 

MADO

XLDnaute Junior
Bonjour le forum
C'est encore moi, je reviens avec une nouvelle demande.
Je souhaite renseigner tous les trimestres les cellules en jaune sur la base du format du fichier joint et des fichiers sources (dans 8 dossiers dont ceux relatifs à F37 et F80 disponibles semestriellement) dont les formats sont décrits dans chaque feuille.
Toutes les données commencent par C4.
Une macro qui me permettrait d'accomplir cette diligence rapidement me serait d'une grande utilité.
Merci de votre assistance.
 

Pièces jointes

  • Exemple.xls
    541.5 KB · Affichages: 44
Dernière édition:

Discussions similaires

Réponses
6
Affichages
362

Statistiques des forums

Discussions
311 735
Messages
2 082 023
Membres
101 873
dernier inscrit
excellllll