Bonjour,

Pour boucler sur une plage de cellules et obtenir une liste d'éléments sans doublons, pas de soucis.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Dim Cell As Range
    Dim Un As Collection
    Dim i As Long
    Set Un = New Collection
 
    Range("zone_sélection_années").ClearContents
    On Error Resume Next
    'Boucle sur la plage de cellule
    For Each Cell In Range("Tableau1[DATES]").SpecialCells(xlCellTypeVisible)
        If Cell <> "" Then Un.Add Year(Cell), CStr(Year(Cell))
    Next Cell
 
    i = 0
    On Error GoTo 0
    'Boucle sur les éléments de la collection.
    For i = 1 To Un.Count
        ' transférer  les éléments de la collection vers une plage de feuille
        Cells(2, 1 + i) = Un.Item(i) 'début liste en ligne A2 à ... 
        i = i + 1
    Next i   
    Set Un = Nothing
Pour transférer dans la feuille ça ne fonctionne pas bien.

J'ai dû commettre une erreur, mais je ne trouve pas d’où ça vient.

Merci d'avance pour votre aide.