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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| 'Importation des données de la "Base_art EMC-IMC" vers "J+5"
'=========================================================================================================
Sub ImporterDonnees()
'Déclaration des compteurs et variables
With Application
.Calculation = xlManual
.ScreenUpdating = False
End With
T = Timer
Dim classeur As Workbook, WB_Principal As Workbook, Wb As Workbook, Feuil1 As Worksheet, Feuil2 As Worksheet, Ws As Worksheet, wk As Worksheet
Dim maPlage As Range, maPlage1 As Range, maPlage2 As Range
Dim DernLigne As Long, DernLigne1 As Long, DernLigne2 As Long, LastLig As Long
' Amène le classeurs cible en avant plan, celui-ci devient le [ ActiveWorkbook ]
Set WB_Principal = ActiveWorkbook
Set Feuil2 = WB_Principal.Worksheets("J+5")
'------------------------------- Suppression des données presente sur la feuille J+5 & du filtre -----------------
Dim NbColonnes As Integer
NbColonnes = 74
Sheets("J+5").Activate
Range(Cells(5, 1), Cells(5, NbColonnes)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
'------------------------------- Connection à la base "Base_art EMC-IMC" -----------------
Application.WindowState = xlNormal
' Ouverture du classeur
Set classeur = Workbooks.Open("C:\Users\chafik\Desktop\personnel Chafik\importation données\Base_art EMC-IMC.xlsx", _
False, True)
Set Feuil1 = classeur.Worksheets("Base_art EMC-IMC")
Rows("1:1").Range("X1").Activate
'----Mise en place d'un filtre et exctraction des données en fonction du "Code gestionnaire"---------------
Selection.AutoFilter
ActiveSheet.Range("$A$4:$AL$11469").AutoFilter Field:=5, Criteria1:=Array( _
"190", "191", "192", "193", "194", "195", "196", "197", "198", "199", "280", "289"), Operator _
:=xlFilterValues
'---- Copie & collage des données d'un classeur vers l'autre ---------------
Range("B2:E65536,G2:H65536,AA2:AA65536").Copy Destination:=Feuil2.Range("A5")
DernLigne1 = Feuil1.Range("Z" & Rows.Count).End(xlUp).Row
Set maPlage1 = Feuil1.Range("Z2:Z" & DernLigne1)
maPlage1.Copy Destination:=Feuil2.Range("H5")
DernLigne2 = Feuil1.Range("L" & Rows.Count).End(xlUp).Row
Set maPlage2 = Feuil1.Range("L2:M" & DernLigne2)
maPlage2.Copy Destination:=Feuil2.Range("I5")
Feuil1.Range("J2:K65536,AG2:AG65536,AI2:AI65536").Copy Destination:=Feuil2.Range("K5")
'---- Mise en place d'un filtre sur les en-têtes des données copier ---------------------------------
Rows("4:4").Select
Selection.AutoFilter
CutCopyMode = False
'------------------------------- Fermeture du classeur sans l'enregistrer "Base_art EMC-IMC" -----------------
Feuil1.Activate
ActiveWorkbook.Close SaveChanges:=False
Application.DisplayAlerts = 1
'------------------------------- Mise en Forme de la premiere ligne -----------------------------------------------
Range("A5,E5,G5,R5,X5,AJ5,AN5,AZ5,BK5,BO5").Style = "Style 1"
Range("B5:C5,H5:P5,S5:U5,Y5:AH5,AO5:AW5,BA5:BI5,BL5:BM5,BP5:BQ5").Style = "Style 4"
Range("D5,F5,Q5,V5,AI5,AX5,BJ5,BN5,BR5").Style = "Style 5"
Range("W5,AJ5,AK5,AL5,AM5,AY5,BS5,BT5,BU5,BV5,BW5").Style = "Style 6"
'--------------- selection de la premiere ligne et copie de la mise en forme sur le tableau variable --------------
Rows("5:5").Select
Selection.Copy
Range(Cells(5, 1), Cells(Cells(65536, 1).End(xlUp)(1).Row, 75)).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub |
Partager