Boucle-copier-COller colonnes de plusieurs fichiers

BOnjour,

Je suis un nouveau venu dans le groupe et j'aimerais avoir votre aide pour ecrire les codes macro des taches suivantes en utilisant Boucle:

copier les cellules (G4:G52) de chaque fichier se trouvant dans le dossier ''A compiler"

les coller dans une seulle feuille "Sheet1" a partir de la colonne D cad ( pour le 1er fichier coller a la colonne (D4:D52) , pour le 2e fichier coller a la colonne (E3:E52), ainsi de suite....

Merci de votre aide

Walit

28a-compiler.zip (92.15 Ko)

Bonjour Fidèle Walit, bonjour le forum,

• Dans quel(s) onglet(s) du fichier source se trouvent les données à copier ? Le premier ? un spécifique ? Tous ?

• Chemin complet du dossier À compiler ?

Attendant ta réponse...

Bonjour Thau Theme et toute l'equipe

les donnees a copier se trouvent dans l'onglet ''Dis'' pour chaque fichier.

le dossier ''A compiler'' se trouve sur le Desktop "C:\Users\Desktop"

Merci

Bonjour Fidele Walit, bonjour le forum,

Essaie avec ce code à placer dans le fichier recevant les données :

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 CA As String 'déclare la variable CA (Chemin d'accès)
Dim F As String 'déclare la variable F (Fichiers)
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim DEST As Range 'déclare la variable DEST (Cellule de DESTination)

Set CD = ThisWorkbook 'définit le classeur destination CD
Set OD = CD.Sheets(1) 'définit l'onglet destination OD (premier onglet du classeur)
CA = "C:\Users\Desktop\A compiler\" 'définit le chemin d'accès CA
F = Dir(CA & "\*.xls") 'définit le fichier F (premier fichier .xls ayant CA comme chemin d'accès)
Do While F <> "" 'exécute tant qu'il existe des fichiers .xls dans le dossier ayant CA comme chemin d'accès
    Workbooks.Open (CA & F) 'ouvre le fichier F
    Set CS = ActiveWorkbook 'définit le classeur source CS
    Set OS = CS.Sheets(1) 'définit l'onglet source CS (premier onglet du classeur)
    Application.DisplayAlerts = False 'masque les messages d'Excel
    OS.Cells.UnMerge 'supprime la fusion des cellules
    Application.DisplayAlerts = True 'affiche les messages d'Excel
    'définit la cellule de destination DEST (D4 si D4 est vide, sinon la première colonne vide de la ligne 4)
    Set DEST = IIf(OD.Range("D4").Value = "", OD.Range("D4"), OD.Cells(4, Application.Columns.Count).End(xlToLeft).Offset(0, 1))
    OS.Range("G3:G55").Copy 'copie la palge G3:G55 de l'onglet source
    DEST.PasteSpecial (xlPasteFormats) 'colle les formats dans DEST
    DEST.PasteSpecial (xlPasteValues) 'colle les valeurs dans DEST
    CS.Close False 'ferme le classeur source CS sans enregistrer les modification
    F = Dir 'redéfinit le ficheir F (prochain fichier .xls ayant CA comme chemin d'accès)
Loop 'boucle
End Sub

BOnjour Thau Theme

Merci beaucoup pour ta disponibilite

Je vais essayer et reviens vers toi avec les feed back

Cordialement

Walit

Rechercher des sujets similaires à "boucle copier coller colonnes fichiers"