Bonjour JCA, le Forum
J'ai déjà rencontré ce problème et en fait tout dépend d'où viennent tes dates...
Exemple 1
Private Sub UserForm_Initialize()
Dim Jours As Long
For Jours = 37987 To 38352 'pour un calendrier du 01/01/2004 au 31/12/2004
Me.ComboBox1.AddItem Format(Jours, ""DD/MM/YYYY"")
Next
End Sub
Là aucun souci !
Exemple 2
Private Sub UserForm_Initialize()
Dim i As Integer
For i = 1 To 366 '(les dates sont de A1 à A366)
Me.ComboBox1.AddItem Format(Cells(i, 1), "DD/MM/YYYY")
Next
End Sub
De nouveau aucun souci !!
Exemple 3
Private Sub UserForm_Initialize()
Dim MyArray As Variant
MyArray = Range("A1:A366")
Me.ComboBox1.List() = MyArray
End Sub
Arf Ein Kleind Souzi, Artung !! On est en date Yankee !!! lol
Exemple 3Bis
Private Sub UserForm_Initialize()
Dim MyArray As Variant
Dim i As Integer
MyArray = Range("A1:A366")
For i = 1 To UBound(MyArray)
Me.ComboBox1.AddItem Format(MyArray(i, 1), "DD/MM/YYYY")
Next
End Sub
Thats Good ! No more soucaiiie !!!
Exemple 4
Private Sub UserForm_Initialize()
Me.ComboBox1.RowSource = "Sheet1!A1:A366"
End Sub
Arf Nicht Good !... Arf Arf Pas de Exemple 4 Bis !! lol
Alors on va faire un Patch comme MicroSoft !!
Private Sub ComboBox1_Change() '<<<< The Big Patch !!
Me.ComboBox1 = Format(Me.ComboBox1, "DD/MM/YYYY")
End Sub
Voilà JC !!! Mais je te vois venir après avec la prochaine question...
En exclusivité, Prochaine Question de JCA !!!
OK j'ai bien fait tout ceci Thierry et ça fonctionne, mais quand je retourne la valeur sélectionnée dans ma ComboBox sur la Feuille Excel, ce n'est pas pris pour une Date mais du Texte"
Hi hi hi hi...
En exclusivité, Ma Prochaine Réponse à JCA !!!
Alors tu dois reconvertir ta valeur en date... Exemple :
Private Sub CommandButton1_Click()
Range("C1") = CDate(Me.ComboBox1)
End Sub
Hi hi hi hi, c'est la chaleur, je fais le fou fou aujourd'hui !! (voir ma macro pour C@thy) lol
Bonne Après Midi
@+Thierry