Sub Macro1()
Dim dl As Long 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim d As Object 'déclare la variable d (Dictionnaire)
Dim nb As Integer 'déclare la variable nb (NomBre d'occurrences uniques)
With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1" (à adapter à ton cas)
dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée dl de la colonne 1 (=A)
Set pl = .Range("A1:A" & dl) 'définit la plage pl
End With 'fin de la prise en compte de l'onglet "Feuil1"
Set d = CreateObject("Scripting.Dictionary") 'définit le dictionnaire d
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
d(cel.Value) = "" 'alimente le dictionnaire
Next cel 'prochaine cellule de la boucle
nb = UBound(d.keys, 1) + 1 'définit le nombre nb d'occurrences uniques
MsgBox nb 'affiche nb
End Sub