création en chaine de combobox
Bonjour,
j'ai écrit un code qui utilise une fonction que me crée plusieurs combobox mis a jour à chaque ouverture de mon fichier .
La première box se crée correctement mais la seconde me donne run-time error 1004.
Quelqu'un serait il pourquoi mon code ne fonctionne pas?
Merci par avance de votre aide ,
Will
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
|
Function ConstuctFormActiveX(page)
Dim rgnPos As Range
Dim zlist As MSForms.ComboBox
Dim compteur As Variant
'Dim tabDynamique() As Variant
'ajout d'une liste
Dim DerCel As Long
DerCel = Worksheets(3).Range("A65536").End(xlUp).Row
Set rgnPos = ThisWorkbook.Worksheets(page).Range("B3")
Set zlist = ThisWorkbook.Worksheets(page).OLEObjects.Add("Forms.ComboBox." & page, , , , , , , rgnPos.Left, rgnPos.Top, rgnPos.Resize(, 2).Width, rgnPos.Height).Object
With zlist
.ListRows = 2
For compteur = 2 To DerCel
zlist.AddItem Worksheets(3).Cells(compteur, 1)
Next compteur
End With
End Function
Private Sub Workbook_Open()
Dim i As Integer
Dim page As Variant
For i = 1 To 2
' If IsObject(Worksheets(i).OLEObjects("Forms.ComboBox.1")) Then Worksheets(i).OLEObjects(1).Delete
Call ConstuctFormActiveX(i)
Next i
End Sub |
merci voici comment j'ai gérer le soucis
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Public Sub Workbook_Open()
Dim i As Variant
For i = 1 To 2
Worksheets(i).Activate
On Error GoTo Erreur
ThisWorkbook.Worksheets(i).OLEObjects("ComboBox" & i).Delete
Erreur:
Call ConstuctFormActiveX(i)
Next i
End Sub |
Cordialement will