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
j'espère que vous allez pouvoir m'aider
et merci d'avance
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.xlsm36.4 KB · Affichages: 28
-
consolidation.xlsm36.4 KB · Affichages: 30
-
consolidation.xlsm36.4 KB · Affichages: 30
-
Modèle de Timesheet v9 nom1.xlsx20.9 KB · Affichages: 31
-
Modèle de Timesheet v9 nom2.xlsx20.9 KB · Affichages: 51
-
Modèle de Timesheet v9 nom3.xlsx21 KB · Affichages: 27
Dernière édition: