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
| Dim wb As Workbook, wb2 As Workbook, ws As Worksheet
'Le premier fichier en entrée ici est un fichier csv dont le chemin est situé à range(F5), je le parse par ";" pour créer une collection
Dim V As Collection
Path = ThisWorkbook.Sheets("sheet1").Range("F5").Value
Set V = ParseFile(Path, ";")
'Je mets tous les morceaux de la collection dans les sheets de workbook
If V.Count > 40 Then
t = 1
For i = 1 To 40
ThisWorkbook.Sheets("sheet2").Range("A" & t).Resize(1, 17).Value = V.Item(i)
t = t + 1
Next i
t = 1
For i = 40 To V.Count
ThisWorkbook.Sheets("sheet3").Range("A" & t).Resize(1, 17).Value = V.Item(i)
t = t + 1
If i + 1 = 2 * 40 Then Exit For
Next i
Else
t = 1
For i = 1 To V.Count
ThisWorkbook.Sheets("sheet2").Range("A" & t).Resize(1, 17).Value = V.Item(i)
t = t + 1
Next i
End If
'j'ouvre la 2e table Excel dont le chemin est dans range(F6), je fais un filtre là-dessus
Workbooks.Open Filename:=ThisWorkbook.Sheets("sheet1").Range("F6").Value
Set wb2 = ActiveWorkbook
Sheets("POSITION AND GRECS").Activate
Rows("3:3").Select
Selection.AutoFilter
Selection.AutoFilter Field:=7, Criteria1:="DESCRIPT"
Rows("3:3").Select
Range("B3").Activate
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets.Add
Set sh = ActiveSheet
ActiveSheet.Paste
'Maintenant, je compare les 2 par un for sur la 1ere table, et faire un find sur la 2e pour voir si ça existe ou pas, si oui, on le garde, sinon, je le supprime.
ThisWorkbook.Activate
For i = 1 To Range("A1").End(xlDown).Row
Id = Range("A" & i).Value
If wb2.Sheets("sheet1").Range("AA:AA").Find(Id) Is Nothing Then
Rows(i).Delete
i = i - 1
End If
Next i
ThisWorkbook.SaveAs Filename:="G:\_Traitements_Exo\Users\Jun\a.xls" |
Partager