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
| Sub AssUniq()
Application.ScreenUpdating = False
'On va compter le nombre d'assurés uniques ayant utilisé une nature de prestation à choisir
Dim MonFiltre As String
'Dim MonOnglet As String
MonFiltre = InputBox("Choississez la nature de prestation")
'MonOnglet = InputBox("Entrez le nom de l'onglet")
Sheets("Donnees").Activate
DernLigne = Range("A" & Rows.Count).End(xlUp).Row
Rows("1:1").Select
Selection.AutoFilter
'ActiveSheet.Range("$A$1:$Z" & DernLigne).AutoFilter Field:=2, Criteria1:="ABA"
ActiveSheet.Range("$A$1:$Z" & DernLigne).AutoFilter Field:=2, Criteria1:=MonFiltre
Range("A1").Select
Range("A1:Z" & DernLigne).Select
Selection.Copy
' Sheets.Add After:=Sheets(Sheets.Count)
Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = MonFiltre & "_" & "AssUniq"
ActiveSheet.Paste
ActiveSheet.Paste
Application.CutCopyMode = False
Columns("C:C").Select
ActiveSheet.Range("$C$1:$C" & DernLigne).RemoveDuplicates Columns:=1, Header:= _
xlYes
Range("A1").Select
ActiveSheet.Cells(Rows.Count, "A").End(xlUp)(2).Offset(, 2) = Application.WorksheetFunction.CountA(Columns(3))
Sheets("Donnees").Select
ActiveSheet.Range("$A$1:$Z" & DernLigne).AutoFilter Field:=2
Application.ScreenUpdating = True
End Sub |
Partager