Bonjour à tous,

J'essaye d'afficher une liste de date dans une liste déroulante.

Cette liste de date est construite via une macro en prenant certaines valeurs d'une autre liste de valeurs présente dans le même classeur.

J'arrive à deux résultats qui tous les deux ne me conviennent pas:

1° Soit j'ai ma liste qui s'affiche dans le bon ordre sur mon classeur ainsi que sur ma liste déroulante... SAUF une fois que j'ai sélectionné une date alors là elle s'affiche dans le format "Standard".
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
22
23
24
25
    Worksheets("Program Data").Range("Selection_CCBD").Delete Shift:=xlUp 'Je supprime le Range précédent
 
    k_CCBD = 9
 
    For i = 3 To Range("Number_CN") + 3 
        exist_CCBD = 0
 
        For j = 9 To k_CCBD
            If Worksheets("CN DB").Cells(i, 12) = Worksheets("Program Data").Cells(j, 10) Then 'Recherchant les valeurs uniques, je vérifie si la valeur que je recherche existe déja
                exist_CCBD = 1
            End If
        Next
        If exist_CCBD = 0 Then 'Si la valeur n'existe pas alors je la copie dans la liste
            Worksheets("Program Data").Cells(k_CCBD, 10) = Worksheets("CN DB").Cells(i, 12)
            k_CCBD = k_CCBD + 1
        End If
    Next
 
    Worksheets("Program Data").Range(Worksheets("Program Data").Cells(9, 10), Worksheets("Program Data").Cells(k_CCBD, 10)).Name = "Selection_CCBD" 'Je nomme ma liste
    Range("Selection_CCBD").Sort Key1:=Worksheets("Program Data").Range("J9"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
' Je la tri par ordre croissant
 
    From_Date.RowSource = "Selection_CCBD"
    To_Date.RowSource = "Selection_CCBD"
2° Je fais passer mes valeurs sélectionnées d'un format "Date" à un format standard ou texte tout en gardant le formatage désiré ("jj/mm/aaaa").
Malheuresement lors de la transformation certaine date se transforme automatiquement et je perds alors l'effet de ma transformation. (en gros j'ai un style qui s'applique automatiquement pour certaine date dans certaine cellule
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
Dim CCBD As String 'je crée ma variable qui me servira à transformer ma variable en string
 
    Worksheets("Program Data").Range("Selection_CCBD").Delete Shift:=xlUp
 
    k_CCBD = 9
 
    For i = 3 To Range("Number_CN") + 3
        exist_CCBD = 0
 
    For i = 3 To Range("Number_CN") + 3
        exist_CCBD = 0
 
        For j = 9 To k_CCBD
            If Worksheets("Program Data").Cells(j, 10) = Worksheets("CN DB").Cells(i, 12) Then 'Je vérifie si ma valeur existe
                exist_CCBD = 1
            End If
        Next
        If exist_CCBD = 0 Then
            Worksheets("Program Data").Cells(k_CCBD, 10) = Worksheets("CN DB").Cells(i, 12) ' je la copie si elle n'existe pas
            k_CCBD = k_CCBD + 1
        End If
    Next
 
    Worksheets("Program Data").Range(Worksheets("Program Data").Cells(9, 10), Worksheets("Program Data").Cells(k_CCBD, 10)).Name = "Selection_CCBD"
    Range("Selection_CCBD").Sort Key1:=Worksheets("Program Data").Range("J9"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    ' je trie
 
    For j = 9 To k_CCBD - 1
        CCBD = Format(Worksheets("Program Data").Cells(j, 10), "dd/mm/yyyy")
        Worksheets("Program Data").Cells(j, 10) = CCBD
    Next 'je transforme mes valeurs
 
    From_Date.RowSource = "Selection_CCBD"
    To_Date.RowSource = "Selection_CCBD"
A la suite de ceci, certain seront bien des chaines de caractéres alors que d'autre seront des dates.
J'ai fais un test en transformant juste le jours et le mois, pour certain ça marche trés bien (par ex 12/04), et pour d'autre je me retrouve avec 08-Aout.

Donc si quelqu'un aurais une solution pour que je puisse avoir dans ma liste déroulante des dates quand je l'ouvre ainsi qu'une fois ma date sélectionnée ce serait génial!

Merci d'avance