Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Yvan,
si cela t'intéresse, voici un exemple sur la manière d'utiliser ADO (activex data objets 2.x lilbrairy) pour remplir des combobox, empêcher les doublons et trier la liste par ordre croissant.
Pour utiliser cet exemple, vous devez avoir la référence "Microsoft Activex Data Objects 2.x" disponible et accessible par le classeur
http://cjoint.com/?iBsTCrw53o
Salutations!
"Yvan" a écrit dans le message de news: Bonjour,
J'utilise la macro suivante pour insérer une liste d'éléments dans un Listbox.
Dim C As Range Dim Tbl2 As New Collection Dim i As Integer
On Error Resume Next For Each C In Plage If Not IsError(C) Then If C <> "" Then Tbl2.Add C.Value, CStr(C.Value) End If Next C On Error GoTo 0
With QuelList2 .Clear For i = 1 To Tbl2.Count .AddItem Tbl2(i) Next i .ListIndex = 0 End With
Je souhaite que la liste d'éléments ainsi créée apparaisse triée par ordre alphabétique. Comment faire ???
-- Merci pour vos réponses.
Bonjour Yvan,
si cela t'intéresse, voici un exemple sur la manière d'utiliser ADO (activex data objets 2.x lilbrairy) pour remplir des combobox,
empêcher les doublons et trier la liste par ordre croissant.
Pour utiliser cet exemple, vous devez avoir la référence "Microsoft Activex Data Objects 2.x" disponible et accessible par le
classeur
http://cjoint.com/?iBsTCrw53o
Salutations!
"Yvan" <Yvan@discussions.microsoft.com> a écrit dans le message de news: 4F0EE3D9-5621-4661-A6AD-FD1E91EBE653@microsoft.com...
Bonjour,
J'utilise la macro suivante pour insérer une liste d'éléments dans un Listbox.
Dim C As Range
Dim Tbl2 As New Collection
Dim i As Integer
On Error Resume Next
For Each C In Plage
If Not IsError(C) Then
If C <> "" Then Tbl2.Add C.Value, CStr(C.Value)
End If
Next C
On Error GoTo 0
With QuelList2
.Clear
For i = 1 To Tbl2.Count
.AddItem Tbl2(i)
Next i
.ListIndex = 0
End With
Je souhaite que la liste d'éléments ainsi créée apparaisse triée par ordre
alphabétique. Comment faire ???
si cela t'intéresse, voici un exemple sur la manière d'utiliser ADO (activex data objets 2.x lilbrairy) pour remplir des combobox, empêcher les doublons et trier la liste par ordre croissant.
Pour utiliser cet exemple, vous devez avoir la référence "Microsoft Activex Data Objects 2.x" disponible et accessible par le classeur
http://cjoint.com/?iBsTCrw53o
Salutations!
"Yvan" a écrit dans le message de news: Bonjour,
J'utilise la macro suivante pour insérer une liste d'éléments dans un Listbox.
Dim C As Range Dim Tbl2 As New Collection Dim i As Integer
On Error Resume Next For Each C In Plage If Not IsError(C) Then If C <> "" Then Tbl2.Add C.Value, CStr(C.Value) End If Next C On Error GoTo 0
With QuelList2 .Clear For i = 1 To Tbl2.Count .AddItem Tbl2(i) Next i .ListIndex = 0 End With
Je souhaite que la liste d'éléments ainsi créée apparaisse triée par ordre alphabétique. Comment faire ???
-- Merci pour vos réponses.
michdenis
Bonjour Yvan,
Une façon de terminer ta procédure : Nom de la feuille à adapter...
'------------------------------- Sub InitialerUneListBox()
Dim MyArray() Dim C As Range Dim Tbl2 As New Collection Dim i As Integer
On Error Resume Next With Worksheets("Feuil1") For Each C In Range("Plage") If Not IsError(C) Then If C <> "" Then Tbl2.Add C.Value, CStr(C.Value) End If On Error GoTo 0 Next ReDim MyArray(0 To Tbl2.Count) For A = 1 To Tbl2.Count MyArray(A - 1) = Tbl2(A) Next BubbleSort MyArray .ComboBox1.List = MyArray End With
End Sub '------------------------------- Sub BubbleSort(List()) Dim First As Integer, Last As Integer Dim i As Integer, j As Integer Dim Temp
First = LBound(List) Last = UBound(List) For i = First To Last - 1 For j = i + 1 To Last If List(i) > List(j) Then Temp = List(j) List(j) = List(i) List(i) = Temp End If Next j Next i End Sub '-------------------------------
Salutations!
"Yvan" a écrit dans le message de news: Bonjour,
J'utilise la macro suivante pour insérer une liste d'éléments dans un Listbox.
Dim C As Range Dim Tbl2 As New Collection Dim i As Integer
On Error Resume Next For Each C In Plage If Not IsError(C) Then If C <> "" Then Tbl2.Add C.Value, CStr(C.Value) End If Next C On Error GoTo 0
With QuelList2 .Clear For i = 1 To Tbl2.Count .AddItem Tbl2(i) Next i .ListIndex = 0 End With
Je souhaite que la liste d'éléments ainsi créée apparaisse triée par ordre alphabétique. Comment faire ???
-- Merci pour vos réponses.
Bonjour Yvan,
Une façon de terminer ta procédure :
Nom de la feuille à adapter...
'-------------------------------
Sub InitialerUneListBox()
Dim MyArray()
Dim C As Range
Dim Tbl2 As New Collection
Dim i As Integer
On Error Resume Next
With Worksheets("Feuil1")
For Each C In Range("Plage")
If Not IsError(C) Then
If C <> "" Then Tbl2.Add C.Value, CStr(C.Value)
End If
On Error GoTo 0
Next
ReDim MyArray(0 To Tbl2.Count)
For A = 1 To Tbl2.Count
MyArray(A - 1) = Tbl2(A)
Next
BubbleSort MyArray
.ComboBox1.List = MyArray
End With
End Sub
'-------------------------------
Sub BubbleSort(List())
Dim First As Integer, Last As Integer
Dim i As Integer, j As Integer
Dim Temp
First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If List(i) > List(j) Then
Temp = List(j)
List(j) = List(i)
List(i) = Temp
End If
Next j
Next i
End Sub
'-------------------------------
Salutations!
"Yvan" <Yvan@discussions.microsoft.com> a écrit dans le message de news: 4F0EE3D9-5621-4661-A6AD-FD1E91EBE653@microsoft.com...
Bonjour,
J'utilise la macro suivante pour insérer une liste d'éléments dans un Listbox.
Dim C As Range
Dim Tbl2 As New Collection
Dim i As Integer
On Error Resume Next
For Each C In Plage
If Not IsError(C) Then
If C <> "" Then Tbl2.Add C.Value, CStr(C.Value)
End If
Next C
On Error GoTo 0
With QuelList2
.Clear
For i = 1 To Tbl2.Count
.AddItem Tbl2(i)
Next i
.ListIndex = 0
End With
Je souhaite que la liste d'éléments ainsi créée apparaisse triée par ordre
alphabétique. Comment faire ???
Une façon de terminer ta procédure : Nom de la feuille à adapter...
'------------------------------- Sub InitialerUneListBox()
Dim MyArray() Dim C As Range Dim Tbl2 As New Collection Dim i As Integer
On Error Resume Next With Worksheets("Feuil1") For Each C In Range("Plage") If Not IsError(C) Then If C <> "" Then Tbl2.Add C.Value, CStr(C.Value) End If On Error GoTo 0 Next ReDim MyArray(0 To Tbl2.Count) For A = 1 To Tbl2.Count MyArray(A - 1) = Tbl2(A) Next BubbleSort MyArray .ComboBox1.List = MyArray End With
End Sub '------------------------------- Sub BubbleSort(List()) Dim First As Integer, Last As Integer Dim i As Integer, j As Integer Dim Temp
First = LBound(List) Last = UBound(List) For i = First To Last - 1 For j = i + 1 To Last If List(i) > List(j) Then Temp = List(j) List(j) = List(i) List(i) = Temp End If Next j Next i End Sub '-------------------------------
Salutations!
"Yvan" a écrit dans le message de news: Bonjour,
J'utilise la macro suivante pour insérer une liste d'éléments dans un Listbox.
Dim C As Range Dim Tbl2 As New Collection Dim i As Integer
On Error Resume Next For Each C In Plage If Not IsError(C) Then If C <> "" Then Tbl2.Add C.Value, CStr(C.Value) End If Next C On Error GoTo 0
With QuelList2 .Clear For i = 1 To Tbl2.Count .AddItem Tbl2(i) Next i .ListIndex = 0 End With
Je souhaite que la liste d'éléments ainsi créée apparaisse triée par ordre alphabétique. Comment faire ???