problème de boucle sur vba excel

mados

XLDnaute Nouveau
bonjour à tous
je suis nouveau sur ce forum mais grâce à lui j'ai pu bien avancer sur un travail qui m'a été donné il y a deux jours,
je suis à un poile de l'achever et ce grâce à vous j'espère,
problématique: importer des données de plusieurs fichiers excel dont j'ai pas le nom mais qui ont la même structure et qui sont dans un même dossier sur un fichier de synthèse puis placer les fichiers traité dans un autre dossier.

problème: j'avais figer les cellules et range de destination et donc à la fin je ne trouve que les données du dernier fichiers trouvé sur le dossier.
pour mieux comprendre voici le code utilisé et en pièce jointes trois exemples fichiers sources et le fichier de synthèse

code


Code:
Sub test2()
    Dim GestionFichier As New Scripting.FileSystemObject
    Dim FichierTexte As Scripting.TextStream
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim Fichier$
    

   ' Fichier va contenir le nom du premier fichier rencontré dans F:\atelier
    Fichier = Dir("C:\Users\maslimi.ALLIANCES\Desktop\TIMESHEET MOD\consolidation\non traités\*.xlsx")
    ' Tant que Fichier est différent de vide (Tant qu'il y a un fichier à lire, simplement)
    While Fichier <> ""
         
        Set wb = Workbooks.Open("C:\Users\maslimi.ALLIANCES\Desktop\TIMESHEET MOD\consolidation\non traités\" & Fichier)
        Set ws = wb.Worksheets(1)

    Windows(Fichier).Activate
    Range("B1:K1").Select
    Selection.Copy
    Windows("consolidation.xlsm").Activate
    Range("A2:A22").Select
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
    xlNone, SkipBlanks:=False, Transpose:=False
    Application.DisplayAlerts = False
    
    Windows(Fichier).Activate
    Range("B3").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("consolidation.xlsm").Activate
    Range("B2:B22").Select
    ActiveSheet.Paste
    Application.DisplayAlerts = False
    
    Windows(Fichier).Activate
    Range("E3").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("consolidation.xlsm").Activate
    Range("C2:C22").Select
    ActiveSheet.Paste
    Application.DisplayAlerts = False
    
    Windows(Fichier).Activate
    Range("B5").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("consolidation.xlsm").Activate
    Range("D2:D22").Select
    ActiveSheet.Paste
    Application.DisplayAlerts = False
    
    Windows(Fichier).Activate
    Range("A9:A21").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("consolidation.xlsm").Activate
    Range("E2:E14").Select
    ActiveSheet.Paste Link:=True
    Application.DisplayAlerts = False
    


    Windows(Fichier).Activate
    Range("A22:A29").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("consolidation.xlsm").Activate
    Range("E15:E22").Select
    ActiveSheet.Paste Link:=True
    Application.DisplayAlerts = False
    
    Windows(Fichier).Activate
    Range("B9:B29").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("consolidation.xlsm").Activate
    Range("F2:F22").Select
    ActiveSheet.Paste
    Application.DisplayAlerts = False
    
    Windows(Fichier).Activate
    Range("C9:C29").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("consolidation.xlsm").Activate
    Range("G2:G22").Select
    ActiveSheet.Paste
    Application.DisplayAlerts = False
    
    Windows(Fichier).Activate
    Range("D9:D29").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("consolidation.xlsm").Activate
    Range("H2:H22").Select
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
    xlNone, SkipBlanks:=False, Transpose:=False
    Application.DisplayAlerts = False
    
    Windows(Fichier).Activate
    Range("E9:E29").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("consolidation.xlsm").Activate
    Range("I2:I22").Select
    ActiveSheet.Paste
    Application.DisplayAlerts = False
    
    Windows(Fichier).Activate
    Range("K9:K29").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("consolidation.xlsm").Activate
    Range("J2:J22").Select
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
    xlNone, SkipBlanks:=False, Transpose:=False
    Application.DisplayAlerts = False

    wb.Save
    wb.Close

    Name "C:\Users\maslimi.ALLIANCES\Desktop\TIMESHEET MOD\consolidation\non traités\" & Fichier As "C:\Users\maslimi.ALLIANCES\Desktop\TIMESHEET MOD\consolidation\traités\" & Fichier


    Fichier = Dir
    
    
    
    
    
    ' Et on revient dans la boucle en affichant le fichier qu'on vient de lire...
        ' S'il n'y avait qu'un seul fichier dans le dossier, il sortirait tout de suite maintenant.
    Wend

End Sub


j'espère que vous allez pouvoir m'aider
et merci d'avance
 

Pièces jointes

  • consolidation.xlsm
    36.4 KB · Affichages: 28
  • consolidation.xlsm
    36.4 KB · Affichages: 30
  • consolidation.xlsm
    36.4 KB · Affichages: 30
  • Modèle de Timesheet v9 nom1.xlsx
    20.9 KB · Affichages: 31
  • Modèle de Timesheet v9 nom2.xlsx
    20.9 KB · Affichages: 51
  • Modèle de Timesheet v9 nom3.xlsx
    21 KB · Affichages: 27
Dernière édition:

Discussions similaires

Réponses
2
Affichages
80

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG