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
| Sub Extracton()
Dim MesMetiers As Object
Dim Plage As Range
Dim Tablo
Dim i As Integer
'la liste des métiers
Set MesMetiers = CreateObject("Scripting.Dictionary")
With ThisWorkbook.Worksheets("Sélection globale")
'la plage en colonne C
Set Plage = Range(.Cells(2, 3), .Cells(Rows.Count, 3).End(xlUp))
Tablo = Plage
' pour chaque valeur de la colonne C
For i = LBound(Tablo, 1) To UBound(Tablo, 1)
On Error Resume Next
' on l'ajoute à la liste s'il n'existait pas
MesMetiers.Add Tablo(i, 1), Tablo(i, 1)
On Error GoTo 0
Next i
End With
' MesMetiers.Count est donc le nombre de métiers qu'on a trouvé
ThisWorkbook.Worksheets("Synthèse Atteinte Norme").Range("B3").AutoFill Destination:=Range("B3:B" & MesMetiers.Count)
Set Plage = Nothing
Set MonDico = Nothing
End Sub |