Bonjour à tous et toutes, ainsi qu'au Forum,
Voici le contexte, dans un formulaire nommé "Requete", j'ai une liste déroulante ("Liste_Critere1" ayant comme valeurs les variable de ma base de données Excel. Lorsque l'utilisateur choisi une variable, une procédure ("Recherche_Critere1" récupère les valeurs de la colonne, et alimente 2 autres listes déroulantes ("debut" : valeurs triées dans ordre croissant et "fin" dans l'ordre décroissant). Voila pour le contexte.
La recherche s'effectue lorsque l'utilisateur modifie la liste "Liste_Critere1". Si l'utilisateur se trompe dans la variable, ce qui modifie de nouveau la liste déroulante, la recherche se lance encore une fois et je me retrouve avec dans la liste "debut" et "fin" avec les données de la première variable puis la seconde. j'ai donc voulu effacé les valeurs des liste déroulantes comme ci dessous.
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 Private Sub Liste_Critere1_Change() Dim Liste_Index As Long Dim Nb_Liste as Long Nb_Liste = Requete.debut.ListCount If Nb_Liste > 0 Then With Requete.debut .SetFocus For Liste_Index = .ListCount - 1 To 0 Step -1 .RemoveItem (Liste_Index) Next Liste_Index .SelText = "" End With With Requete.fin .SetFocus For Liste_Index = .ListCount - 1 To 0 Step -1 .RemoveItem (Liste_Index) Next Liste_Index .SelText = "" End With End If Call Recherche_Critere1 ' Procédure qui récupère les valeurs de la colonne End Sub
Mon problème :
Le problème c'est que mon programme provoque des erreur lorsque je fais les tests pour savoir s'il ya des doublons. Erreur 381 qui correspond aux item du tableau...
Je ne comprend pas comment faire, a par supprimer la combobox et la repositionner au même endroit ....
J'espère avoir était assez clair. J'ai pas mal cherché mais la je sature
Dans l'attente de vous lire.
A bientôt.
Benoit
Partager