1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| Répertoire = ActiveWorkbook.Path & "\"
FichierRéception = ActiveWorkbook.Name
OngletRéception1 = "2.2 Mensu Prod Org"
OngletRéception2 = "2.5 Mensu Force de Travail"
Ligne = 10
Chaine = Workbooks(FichierRéception).Worksheets("Paramètres").Cells(Ligne, 4) ' Colonne D
RepertoirePal = Workbooks(FichierRéception).Worksheets("Paramètres").Cells(8, 3) ' Colonne C
RepertoireSource = RepertoirePal & Workbooks(FichierRéception).Worksheets("Paramètres").Cells(Ligne, 3) & "\" ' Colonne C
Fichier = Dir(RepertoireSource & Chaine & ".xls")
' On vide la colonne A qui contient la date d'intégration des données de chaque fichier
Workbooks(FichierRéception).Worksheets("Paramètres").Unprotect ("1611")
Workbooks(FichierRéception).Worksheets("Paramètres").Range("A10:A100").Select
Selection.ClearContents
Workbooks(FichierRéception).Worksheets("Paramètres").Range("A10").Select
Do Until Fichier = ""
'Application.EnableEvents = False
' Je n'arrive pas à interdir lors de l'ouverture des fichiers Maquette du
' l'exécution du code figurant dans Workbook_Open
' Je suis donc contraint de supprimer le code contenu dans chaque fichier dans Workbook_Open ou alors trouver une solution
With CreateObject("Excel.Application").Workbooks.Open(RepertoireSource & Fichier)
On Error Resume Next
.Application.EnableEvents = False
' Etape 1 : Onglet OngletRéception1
For LigneSource = 6 To 121
For Colonnesource = 4 To 27
Workbooks(FichierRéception).Worksheets("Paramètres").Cells(Ligne, 1) = "Onglet 1, Lig " & LigneSource & " Col " & Colonnesource
If Ligne = 10 Then
Workbooks(FichierRéception).Worksheets(OngletRéception1).Cells(LigneSource, Colonnesource) = .Worksheets(OngletRéception1).Cells(LigneSource, Colonnesource)
Else
Workbooks(FichierRéception).Worksheets(OngletRéception1).Cells(LigneSource, Colonnesource) = Workbooks(FichierRéception).Worksheets(OngletRéception1).Cells(LigneSource, Colonnesource) + .Worksheets(OngletRéception1).Cells(LigneSource, Colonnesource)
End If
Next Colonnesource
Next LigneSource
LigneSource = 128 ' pour Productivité en EUTC (intégration TGA)
For Colonnesource = 4 To 27
Workbooks(FichierRéception).Worksheets("Paramètres").Cells(Ligne, 1) = "Onglet 1, Lig " & LigneSource & " Col " & Colonnesource
If Ligne = 10 Then
Workbooks(FichierRéception).Worksheets(OngletRéception1).Cells(LigneSource, Colonnesource) = .Worksheets(OngletRéception1).Cells(LigneSource, Colonnesource)
Else
Workbooks(FichierRéception).Worksheets(OngletRéception1).Cells(LigneSource, Colonnesource) = Workbooks(FichierRéception).Worksheets(OngletRéception1).Cells(LigneSource, Colonnesource) + .Worksheets(OngletRéception1).Cells(LigneSource, Colonnesource)
End If
Next Colonnesource
' Etape 2 : Onglet OngletRéception1
Dim LigneOnglet2
LigneOnglet2 = Array(7, 12, 21, 29, 39, 43, 49, 55, 67, 78, 81, 85, 90, 93, 97)
For Indice = 0 To 13
LigneSource = LigneOnglet2(Indice)
For Colonnesource = 3 To 14
Workbooks(FichierRéception).Worksheets("Paramètres").Cells(Ligne, 1) = "Onglet 2, Lig " & LigneSource & " Col " & Colonnesource
If Ligne = 10 Then
Workbooks(FichierRéception).Worksheets(OngletRéception2).Cells(LigneSource, Colonnesource) = .Worksheets(OngletRéception2).Cells(LigneSource, Colonnesource)
Else
Workbooks(FichierRéception).Worksheets(OngletRéception2).Cells(LigneSource, Colonnesource) = Workbooks(FichierRéception).Worksheets(OngletRéception2).Cells(LigneSource, Colonnesource) + .Worksheets(OngletRéception2).Cells(LigneSource, Colonnesource)
End If
Next Colonnesource
Next Indice
Workbooks(FichierRéception).Worksheets("Paramètres").Cells(Ligne, 1) = "Intégré le " & Now()
.Application.EnableEvents = True
.Close False ' ferme sans enregistrer les modifications éventuelles apportées au fichier source
End With
FichierSuivant:
Ligne = Ligne + 1
Fichier = ""
Chaine = Workbooks(FichierRéception).Worksheets("Paramètres").Cells(Ligne, 4) ' Colonne D
RepertoireSource = RepertoirePal & Workbooks(FichierRéception).Worksheets("Paramètres").Cells(Ligne, 3) & "\" ' Colonne C
Fichier = Dir(RepertoireSource & Chaine & ".xls")
Loop |
Partager