Bonjour au Forum ,
Mon problème du jour se situe dans le tri d'une ComboBox
en fait , je souhaite trier dans l'ordre croissant ma liste de presentation
or mon combobox possède 2 colonnes , l'une pour les données et l'autre
pour le N° de ligne
Lorsque je selectionne ma donnée , çà se plante dlans la liste Index et j'avoue ne pas savoir quoi faire pour m'en sortir
voici le code utilisé
1 ) d'abord l'init de la combobox
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 Dim temp '----- definition de ComboBox1 à 2 colonnes With Me.ComboBox1 .ColumnCount = 2 .ColumnWidths = .Width - 2 & ";0" End With '-- Remplissage de la ComboBox1 sans doublons Set T = CreateObject("Scripting.Dictionary") With Sheets("B") For Each c In .Range("M2", .Cells(Rows.Count, 13).End(xlUp)) With Me.ComboBox1 If c.Offset(0, 0) <> Empty Then .AddItem c.Offset(0, 0) .List(.ListCount - 1, 1) = c.Row T.Item(c.Value) = c.Value End If End With Next c End With temp = T.items Tri temp, LBound(temp), UBound(temp) ' tri dans l'ordre croissant des données Me.ComboBox1.List = temp
2) puis lors de la selection , l'objet du plantage
"Impossible de lire la propriété List : Argument non valide "
Pourtant à l'affichage ma liste est triée , mais je pense que ma colonne 2 n'est pas réactualisée correctement d'où peut-être le pb ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub ComboBox1_Change() If Me.ComboBox1.ListIndex > -1 Then LigBase = Me.ComboBox1.List(Me.ComboBox1.ListIndex, 1)
Votre aide me serait d'un grand secours
Mille mercis par avance
A+
Partager