Copier plusieurs fichiers dans plusieurs feuilles

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

mimir77

XLDnaute Nouveau
Bonjour à tous les amis,

Je viens consulter votre sagesse pour une macro dont j'aurais besoin.
J'aimerais avoir une macro qui me permette de copier une feuille appeler "Matrice" qui se situe sur une centaine de fichiers localisés dans un dossier qui ont la même mise en forme et de coller les données dans un nouveau fichier excel qui servira de recap avec comme nom de feuille une cellule par exemple A3 de la feuille "Fiche".

Mon fichier Recap aura au final plusieurs centaines de feuilles. Je ne veux pas coller les infos les unes en dessous des autres mais feuille par feuille.

Je vous remercie pour votre aide.
J'ai une macro sous le coude qui est issue de ce forum comme base.
Merci à tous.

Code:
Sub compilationClasseurs()


Dim W As Workbook, WL As Workbook, DCel As Range, i As Long
Dim adressesF, adressesM, k As Byte, l As Byte
adressesM = _
        Array("Q6", "R7", "S6", "T7", "S7", "R9", "Q7", "T9", _
        "Q8", "R11", "S8", "T11", "Q9", "R13", "S9", "T13", _
        "Q17", "R18", "S17", "T18", "Q22", "R23", "S22", "T23", _
        "Q24", "R29", "S24", "T29", "Q34", "R41", "S34", "T41")
adressesF = _
        Array("E2", "E7", "H7", "E19", "E21", "E23", _
        "E25", "E29", "E31", "E33", "E51", _
        "E53", "M3", "M5", "M45", _
        "M47", "M49", "M51", "M55")

Application.ScreenUpdating = False
   
On Error Resume Next

Set W = ThisWorkbook
With Application.FileSearch
    .NewSearch
    .LookIn = "C:\Documents and Settings\FRESAPM\Bureau\New matrice" 'ADAPTER LE CHEMIN
    .FileType = msoFileTypeExcelWorkbooks
 
If .Execute > 0 Then
    For i = 1 To .FoundFiles.Count
        Set WL = Workbooks.Open(.FoundFiles(i), 0)
        Set DCel = W.Sheets("Compilation_DONNEES").[A65536].End(xlUp).Offset(1, 0)
        For k = LBound(adressesF) To UBound(adressesF)
            DCel.Offset(, k) = WL.Sheets("FICHE").Range(adressesF(k))
        Next
        For l = LBound(adressesM) To UBound(adressesM)
            DCel.Offset(, l + 18) = WL.Sheets("MATRICE").Range(adressesM(l))
        Next
        WL.Close False
    Next i
End If
End With

On Error GoTo 0
Application.ScreenUpdating = True

Set W = Nothing
Set WL = Nothing
Set DCel = Nothing
End Sub
 
- 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

Réponses
5
Affichages
235
Réponses
4
Affichages
177
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
4
Affichages
461
Réponses
40
Affichages
3 K
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
817
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
Réponses
9
Affichages
580
Retour