Remplir une combobox avec critère d'une autre combobox

drik56 Messages postés 127 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 8 juillet 2008 - 29 avril 2008 à 14:39
drik56 Messages postés 127 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 8 juillet 2008 - 30 avril 2008 à 08:16
Salut a tous,
Je voudrais remplir une combobox en fonction d'une autre combo. Je m'explique :
J'ai 2 combobox qui viennent chercher une date dans une colonne A, j'ai donc deux combobox identique jusque la tous va. L'interet de cela est d'avoir une date de début et une date de fin (toutes les dates sont dans une seule colonne) mais je voudrais que la date de fin soit forcement supérieur a la date de début (logique ).
Donc que la combobox2  aille chercher ses valeures après la date de début.
Précision : les dates sont rangés dans un ordre croissant.

Merci

22 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
29 avril 2008 à 15:24
Salut,
Pourquoi n'utilise tu pas plutot un DTPicker? ou un MonthView? tu pourras alors joue avec les propriété MinDate et MaxDate.

@+: Ju£i?n
Pensez: Réponse acceptée
0
drik56 Messages postés 127 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 8 juillet 2008
29 avril 2008 à 15:39
Parce que je n'ai toujour pas résolu mon probleme de DTPicker (Je n'ai pas de DTPicker)
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
29 avril 2008 à 15:56
Re,
Ah excuses moi j'avais pas fait le rapprochement entre les deux discutions...

Passons.

Ce que tu peux peu être faire c'est vider ta seconde Combo dès qu'une date est sélectionnée dans la première, puis la remplir avec les dates souhaitées en mettant toi même un MIN.

@+: Ju£i?n
Pensez: Réponse acceptée
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 avril 2008 à 16:25
Bonjour,


Si tu nous montre comment tu remplis tes combos,
on pourras t' indiquer ou planter le min.







<hr />

... Y'en a même qui disent qu'ils l'ont vu voler.




/PRE>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
drik56 Messages postés 127 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 8 juillet 2008
29 avril 2008 à 16:31
Voici mes codes:
avec Combobox1 = date de début
        Combobox2 = date de fin

Private Sub UserForm_Initialize()
      UserForm1.ComboBox1.RowSource = "Depannages!A3:A" & Sheets("Depannages").Cells(3, 1).End(xlDown).Row
      UserForm1.ComboBox2.RowSource = "Depannages!A3:A" & Sheets("Depannages").Cells(3, 1).End(xlDown).Row
      UserForm1.ComboBox1.ListIndex = 0
      UserForm1.ComboBox2.ListIndex = 0
      End Sub
Private Sub ComboBox1_Change()
    ComboBox1.Value = Format(ComboBox1.Value, "dd/mm/yyyy")
End Sub
Private Sub ComboBox2_Change()
    ComboBox2.Value = Format(ComboBox2.Value, "dd/mm/yyyy")
End Sub
0
drik56 Messages postés 127 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 8 juillet 2008
29 avril 2008 à 16:33
jrivet => Comment tu sais qu'une date a été selectionné. (Il faut dans ce cas que je retire la valeur par défaut : ListIndex= 0)?
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 avril 2008 à 16:41
dans Combo1_Click, tu récupère l' index de l' item sélectionné
(Mettons 5), tu réactualise ton Combo2 rn supprimant tous les items allant de 0 à 5.

<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
/PRE>
0
drik56 Messages postés 127 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 8 juillet 2008
29 avril 2008 à 16:43
Merci LibreMAX mais je n'ai pas trop suivi comment faire.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 avril 2008 à 16:43
plutot que de supprimer, Clear ton Combo2 et recopies à partir de Combo1, tous les items allant de 5 à Count-1

<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
/PRE>
0
drik56 Messages postés 127 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 8 juillet 2008
29 avril 2008 à 16:45
Ok mais c'est des date pas des chiffre de 0 à 5. ^^
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 avril 2008 à 16:47
Private Sub Combo1_Click()
 Dim xCount As Integer
 Dim i As integer, j As integer
 
xCount=Combo1.ListCount
 i=Combo1.ListIndex
  Combo2.Clear
 For j=i To xCount-1
   Combo2.AddItem Combo1.List(i)
 Next
End Sub

<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
/PRE>
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 avril 2008 à 16:48
pardon !

Combo2.AddItem Combo1.List(j)

<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
/PRE>
0
drik56 Messages postés 127 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 8 juillet 2008
29 avril 2008 à 17:04
Merci c'est ca mais quand je clic sur la combo2 dans la liste déroulante j'ai 39532, ....... et pas une date. comment ca se fait ?
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 avril 2008 à 17:22
tiens , c' est bisarre ça !
et pourtant j( ai bien regardé, tu as nien :

Private Sub ComboBox2_Change()
    ComboBox2.Value = Format(ComboBox2.Value, "dd/mm/yyyy")
End Sub

<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
/PRE>
0
drik56 Messages postés 127 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 8 juillet 2008
29 avril 2008 à 17:24
Ouai dans le résultat c'est bon mais pas dans la liste déroulante
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 avril 2008 à 17:26
Dans la liste tu as des dates ou des numéros ?

car si ta Combo est style DropDownList, il ne changera pas la forme de ton item.Ton Text sera pareil à ce qu' il y' a dans la liste.

<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
/PRE>
0
drik56 Messages postés 127 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 8 juillet 2008
29 avril 2008 à 17:29
Dans la liste j'ai des chiffres et quand je selectionne un chiffre le résulat de la combo devient une date
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 avril 2008 à 17:43
beh c' est ce que je disais.
Si ton combo est de style DropDownList, il te metteras toujours des numéros dans la partie text même si tu essayes de le convrtir.
Alors soit tu changes le style de ton Combo en DropDownCombo, soit tu remplis directement tes combos avec des dates.
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
/PRE>
0
drik56 Messages postés 127 Date d'inscription mercredi 16 avril 2008 Statut Membre Dernière intervention 8 juillet 2008
29 avril 2008 à 17:45
^^ Euh Mon combo est en DropDownCombo ET je remplis direct avec des dates.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 avril 2008 à 17:54
J' avoue que je commence à ne rien comprendre.
Ai-je raté quelque chose ?

Si j' ai
01/01/200/
02/01/2008
03/01/2008
04/01/2008

et que je choisis
02/01/2008

dans ma zone Text j' aurais bien 02/01/2008.
Pourquoi alors je dois le convertir en Format jj/mm/aaaa ?
Et comment ça se fait qu' il t' affiche des nombres ?

Supprimes les Sub Combo1_Change() et Combo2_Change()
pour voir...

<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
/PRE>
0
Rejoignez-nous