Création Combobox ActiveX via VBA

Bonjour,

Je créé des combobox en activeX via du VBA. Mon code marchait jusqu'à ce que j'intègre la boucle for pour alimenter ma combo. Quelqu'un peut me dire où ça coince svp?

Thanks

Sub CreateCombBox1()
Dim ws, wd As Worksheet
Dim Alim As Range
Dim i, x As Integer
Dim oTB As Object

Set ws = Worksheets("Main Menu")
Set wd = Worksheets("SYS")
Set Alim = Range("O5:O12")
Set oTB = ws.OLEObjects.Add(ClassType:="Forms.ComboBox.1", _
                Link:=False, DisplayAsIcon:=False, Left:=50, Top:=80, Width:=200, _
                Height:=18)
    With oTB
    .LinkedCell = "$N$23"
    .Left = ws.Range("N15").Left
    .Top = ws.Range("N15").Left
    End With

    i = ws.Range("O300").End(xlUp).Row
            For x = 1 To i
            oTB.Object.AddItem ws.Range("0" & x)
            Next x
    oTB.Object.Text = "Saisir un nom"
End Sub

Si je retire la boucle for pour un additem classique tout fonctionne

Bonjour,

Est ce qu'il y a plantage ?

si oui, quel code erreur sur quelle ligne ?

si non, la variable i est elle bien initialisée, quelle est sa valeur ?

qu'est ce qu' un additem classique ?

Joindre un classeur qui permettra de faire quelques tests .

A+

Ma seule erreur c'est une boite de dialoque avec objet non définit. Pas de lignes définie je peux que faire fin. Le but de cette macro c'est intégrer une combobox, tu as juste à créer un module et la lancer en fait pas besoin de fichier.

Sub CreateCombBox1()
Dim ws As Worksheet
Dim Alim As Range
Dim i, x As Integer
Dim oTB As Object

Set ws = Worksheets("Feuil1")
Set Alim = Range("O5:O12")
Set oTB = ws.OLEObjects.Add(ClassType:="Forms.ComboBox.1", _
                Link:=False, DisplayAsIcon:=False, Left:=50, Top:=80, Width:=200, _
                Height:=18)
    With oTB
    .LinkedCell = "$N$23"
    .Left = ws.Range("N15").Left
    .Top = ws.Range("N15").Left
    End With

    i = ws.Range("O300").End(xlUp).Row
            For x = 1 To i
            oTB.Object.AddItem ws.Range("0" & x)
            Next x
    oTB.Object.Text = "Saisir un nom"
End Sub
Rechercher des sujets similaires à "creation combobox activex via vba"