bonjour,
je creer un collection et pour remplire un combobox.
une fois que l'utilisateur a selectionné un element de la liste et qu'il clique sur suivant, il faut que je retrouve l'index.
comment retrouver cette index ???
merci d'avance
Via
bonjour,
je creer un collection et pour remplire un combobox.
une fois que l'utilisateur a selectionné un element de la liste et qu'il clique sur suivant, il faut que je retrouve l'index.
comment retrouver cette index ???
merci d'avance
Via
Explique aux gens
Tu as une liste... Où ça ? Dans une feuille de calculs, dans un userform ?
Tu renseignes cette liste... Comment ça ? Par la collection ?
Et tu as une collection avec des trucs dedans...
Tu sélectionnes un élément de la liste et
- Tu veux connaître l'élément suivant dans la liste ?
- Tu veux connaître l'élément suivant dans la collection ?
Si la liste a été renseignée par le contenu de la collection, c'est facile, c'est DonnéeSuivante = LaListe(laListe.Listindex + 1)
S'il n'y a pas de relation entre la collection et la liste, alors tu n'as plus qu'à faire une boucle sur les indices de la collection.
Ta collection est déclarée en public :
Tu as quelque part un truc comme ça pour remplir la collection :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dim Collect As New Collection
Tu sélectionnes un élément de ta liste... l'index suivant dans la collection donnera
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 For i = 1 To 50 Collect.Add Cells(i, 1) Next
Et tu en fais ce que tu veux...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub BoutonSuivant_Click() '... Le code que tu veux For i = 1 To Collect.Count If Collect(i) = LaListe Then _ MsgBox Collect(i + 1) Next
Bonne journée
Ok j'ai fais ce poste un peu a l'arrache.
ce poste fais suite a ce probleme posé la semaine derniere ou avant ..
enfin voici le lien
et donc je remplie ma combo comme ca :
c'est peux etre plus claire comme ca ?
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 Dim Titre As Collection Private Sub UserForm_Initialize() Set Titre = New Collection x = 3 Do While ActiveWorkbook.Worksheets("Sicav_Placements").Range("A" & x).Value <> "" Titre.Add ActiveWorkbook.Worksheets("Sicav_Placements").Range("A" & x).Value x = x + 1 Loop Dim IndexTitre As Integer IndexTitre = 1 Do Until IndexTitre > Titre.Count Me.CbListeTitre.AddItem Titre.Item(IndexTitre) IndexTitre = IndexTitre + 1 Loop Me.TBReference.SetFocus End Sub Private Sub CmBoutAnnuler_Click() Unload Me End Sub
desolé encore.
par contre je ne voie pas comment insere ton code, ou c'est que je ne comprend quelque chose, je regarde encore une fois.
merci encore
Via
ok c'est bon j'ai trouver
voici mon controle des données apres que j'ai cliqué pour validé ma selection
Declaration
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Const Achat = "Ordre d'achat des Titres : " Const Vente = "Ordre de vente des Titres : " Dim IndexTitre As Integer Dim Titre As New Collection Dim OrdreAchat As New Collection Dim OrdreVente As New Collection Dim Date_de_La_Note As Date Dim Action_Treso As Stringmerci beaucoup pour ces info
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
37
38
39
40
41
42
43 Private Sub CmBAjout_Click() Controle_Donnee End Sub Sub Controle_Donnee() Dim i As Integer i = 1 Do While i < Titre.Count + 1 If Titre(i) = CbListeTitre.Column(0) Then MsgBox Titre(i) & vbNewLine & "index : " & i Select Case Action_Treso Case Achat OrdreAchat.Add Titre(i) Titre.Remove i Case Vente OrdreVente.Add Titre(i) Titre.Remove i End Select End If i = i + 1 Loop Me.CbListeTitre.Clear IndexTitre = 1 Do Until IndexTitre > Titre.Count Me.CbListeTitre.AddItem Titre.Item(IndexTitre) IndexTitre = IndexTitre + 1 Loop If Titre.Count = 0 Then Select Case Action_Treso Case Achat Action_Treso = Vente LbRefOperation.Caption = Action_Treso MsgBox "Maintenant vous allez selectionner l'" & Action_Treso Initialisation_liste Case Vente CmBAjout.Enabled = False CmBTerminer.Enabled = True End Select End If End Sub
Via
Partager