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
   |   Sub extraction_calcul()
 
Dim nl As Integer
Dim i As Integer
Dim j As Integer
Dim nb_listedoc As Long
Dim nbligne As Long
 
nbligne = Application.CountA(Sheets("Sogelink").Range("G:G"))
 
Set myrange = Sheets("Sogelink").Range("G2:G" & nbligne)
 
Application.DisplayAlerts = False
Application.ScreenUpdating = False
 
 
Worksheets("Sogelink").Copy before:=Worksheets("Liste_documents")
 
ActiveSheet.Name = "Copie fichier de base"
 
Sheets("Copie fichier de base").Range("A:F").Delete
Sheets("Copie fichier de base").Range("B:I").Delete
Sheets("Copie fichier de base").Range("C:D").Delete
Sheets("Copie fichier de base").Range("D:E").Delete
Sheets("Copie fichier de base").Range("F:F").Delete
 
With Sheets("Copie fichier de base")
 
Range("A:E").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
 
Sheets("Copie fichier de base").Range("A1:E65000").AdvancedFilter Action:=xlFilterCopy, criteriarange:=Sheets("Copie fichier de base").Range("A1:A65000"), copytorange:=Sheets("Liste_documents").Range("A1:E1"), Unique:=True
 
End With
 
With Sheets("Liste_documents")
 
nb_listedoc = Application.CountA(Sheets("Liste_documents").Range("A:A"))
 
For nl = 2 To nb_listedoc
 
Sheets("Liste_documents").Columns("F").Cells(nl) = Application.WorksheetFunction.CountIfs(myrange, Sheets("Liste_documents").Columns("A").Cells(nl))
 
Next nl
 
Sheets("Liste_documents").Columns("F").Cells(1) = "nbre_de_lignes"
 
End With
 
With Sheets("Liste_documents")
 
For i = 2 To nb_listedoc
 
Sheets("Liste_documents").Cells(i, 7).Value = Sheets("Liste_documents").Cells(i, 4).Value * Sheets("Liste_documents").Cells(i, 6).Value
 
Sheets("Liste_documents").Cells(i, 8).Value = Sheets("Liste_documents").Cells(i, 5).Value * Sheets("Liste_documents").Cells(i, 6).Value
 
Next i
 
Sheets("Liste_documents").Columns("G").Cells(1) = "Total pages lignes"
 
Sheets("Liste_documents").Columns("H").Cells(1) = "Total unit?s lignes"
 
End With
 
Sheets("Copie fichier de base").Delete
 
ActiveWorkbook.Close SaveChanges:=True
 
Application.DisplayAlerts = True
Application.ScreenUpdating = True
 
End Sub | 
Partager