Bonjour le forum,
Pour faire suite à une demande de hier, j'ai réglé une partie de mon problème. La dernière partie qui me reste à corriger est d'éliminer les doublons dans une combobox.
Voici le code :
Private Sub combo2_Change()
Dim c As Range, L As Long
Dim i As Byte, j As Byte
Dim temp As String, cd As ??? 'Ici une partie du problème, voir plus bas où problème survient
Dim x As New Collection
Set ColonneC = ColonneA.Offset(0, 2)
Do While Achat_colonneC.Count > 0
Achat_colonneC.Remove 1
Loop
On Error Resume Next
For Each c In ColonneC.Cells
If c.Offset(0, -2) & c.Offset(0, -1) = Combo1 & Combo2 Then
Achat_colonneC.Add c, CStr(c)
End If
Next
For L = 1 To Achat_colonneC.Count
Combo3.AddItem Achat_colonneC(L)
Next L
With Combo3
For i = 0 To .ListCount - 1
For j = 0 To .ListCount - 1
If .List(i) < .List(j) Then
temp = .List(i)
.List(i) = .List(j)
.List(j) = temp
End If
Next j
Next i
For Each cd In Combo3 'Ne fonctionne pas car je ne peux utiliser les données dans la combo3 et je ne veux pas de .range
On Error Resume Next
x.Add cd, CStr(cd)
If Err = 0 Then Combo3.AddItem (CStr(cd))
On Error GoTo 0
Next cd
End With
End Sub
Quelqu'un aurait une solution ?
Merci
Pour faire suite à une demande de hier, j'ai réglé une partie de mon problème. La dernière partie qui me reste à corriger est d'éliminer les doublons dans une combobox.
Voici le code :
Private Sub combo2_Change()
Dim c As Range, L As Long
Dim i As Byte, j As Byte
Dim temp As String, cd As ??? 'Ici une partie du problème, voir plus bas où problème survient
Dim x As New Collection
Set ColonneC = ColonneA.Offset(0, 2)
Do While Achat_colonneC.Count > 0
Achat_colonneC.Remove 1
Loop
On Error Resume Next
For Each c In ColonneC.Cells
If c.Offset(0, -2) & c.Offset(0, -1) = Combo1 & Combo2 Then
Achat_colonneC.Add c, CStr(c)
End If
Next
For L = 1 To Achat_colonneC.Count
Combo3.AddItem Achat_colonneC(L)
Next L
With Combo3
For i = 0 To .ListCount - 1
For j = 0 To .ListCount - 1
If .List(i) < .List(j) Then
temp = .List(i)
.List(i) = .List(j)
.List(j) = temp
End If
Next j
Next i
For Each cd In Combo3 'Ne fonctionne pas car je ne peux utiliser les données dans la combo3 et je ne veux pas de .range
On Error Resume Next
x.Add cd, CStr(cd)
If Err = 0 Then Combo3.AddItem (CStr(cd))
On Error GoTo 0
Next cd
End With
End Sub
Quelqu'un aurait une solution ?
Merci