Const COMBOBOX_TYPE As String = "Forms.ComboBox.1"
Sub ConstruireComboBox()
Dim Couleur
Dim i&
Dim j&
Dim S As InlineShape
Dim CB 'As MSForms.ComboBox
Couleur = Array("", vbBlue, vbRed, vbYellow, vbMagenta)
j& = 1
Application.ScreenUpdating = False
For i& = 1 To 7 'pour construire 7 ComboBox
With Selection
.WholeStory
.MoveDown
.TypeParagraph
.InsertParagraph
End With
Set S = Selection.InlineShapes.AddOLEControl(ClassType:=COMBOBOX_TYPE)
Set CB = S.OLEFormat.Object
If j& > 4 Then j& = 1
CB.BackColor = Couleur(j&)
j& = j& + 1
Next i&
Application.ScreenUpdating = True
End Sub
Sub AddItemComboBox()
Dim S As InlineShape
Dim CB As MSForms.ComboBox
For Each S In ActiveDocument.InlineShapes
On Error Resume Next
If S.OLEFormat.ClassType = COMBOBOX_TYPE Then
If Err = 0 Then
Set CB = S.OLEFormat.Object
With CB
.AddItem "1. aaaaaaaaa"
.AddItem "2. bbbbbbbb"
.AddItem "3. cccccccc"
.AddItem "4. ddddddddd"
.AddItem "5. eeeeeeeee"
.AddItem "6. fffffffff"
.AddItem "7. gggggggggg"
.AddItem "8. hhhhhhhhh"
.AddItem "9. iiiiiiiiiiii"
.AddItem "10. jjjjjjjjjjjjjjjj"
.AddItem "11. kkkkkkkkkkk"
.AddItem "12. lllllllllllllllll"
.AddItem "13. mmmmmmmmmmmmmmmmmm"
.AddItem "14. nnnnnnnnnnnnnn"
.AddItem "15. oooooooo"
.AddItem "16. pppppppppp"
End With
Else
Err.Clear
End If
End If
Next S
End Sub