Incapable de remplir un Combobox
Bonjour,
Le but de ce code est de créer un lexique indexé. Les mots sont ajoutés puis triés par ordre alphabétique.
Pour la navigation rapide, j'ai créé une colonne qui reprend la première lettre du premier mot commençant par une nouvelle lettre. Ensuite, j'ai décidé d'utilisé un Combobox qui va référencer les lettres de l'alphabets présentes dans cette colonne. Mais je n'arrive pas à utiliser la fonction AddItem. (en ligne 34)
Je suis novice en vba, et en code tout court, donc il se peut que le code ne soit pas optimal. A vous de me le dire.
Code:
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
|
Sub Sorting()
'
' Tri des mots et indexation
Dim i As Integer
Dim Alph As Object
If ActiveSheet.OLEObjects.Count < 1 Then
With Range("K3")
Set Alph = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Combobox.1", Link:=False, DisplayAsIcon:=False)
End With
End If
'crée la liste
If Not (IsEmpty(Range("E3")) Or IsEmpty(Range("E4"))) Then
Rows("10:10").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B10").Value = Range("E3").Value
Range("F10").Value = Range("E4").Value
Range("E3:E4").ClearContents
'incrémente le lexique
Range("B10:F300").Sort Key1:=Range("B10"), Order1:=xlAscending
'tri le lexique
n = Application.WorksheetFunction.CountA(Range("B:B"))
For i = 10 To (n + 9)
If Left(Range("B" & i), 1) <> Left(Range("B" & i - 1), 1) Then
Range("A" & i) = Left(Range("B" & i), 1)
Else: Range("A" & i).ClearContents
End If
If Not IsEmpty(Range("A" & i)) Then Alph.AddItem Sheets("Sheet1").Range("A" & i)
Next
'complète la liste
Else: Exit Sub
End If
End Sub |
Merci